Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    32

    Programma controllo elemento dispari in riga

    salve ragazzi sono alle prese con un programma, forse starò sbagliando una sciocchezza ma non riesco a venirne a capo.
    Devo controllare che in una matrice ci sia almeno un elemento dispari in tutte le righ in questo caso is_odd vale 1 nel caso non fosse così is_odd deve essere 0.

    Io ho provato a fare così ma mi controlla solo il primo elemento ed in base a quello mi da 1 e 0.

    codice:
    for (i=0; i<n; i++){
    for (j=0; j<n; j++){
    if (a[i][j]%2==0){
    is_odd=0;
    i=i+1;
    j=j+1;
    
    
    }
    else {
    is_odd=1;
    i=i+1;
    j=j+1;
    }
    }
    }
    Ultima modifica di LeleFT; 27-05-2015 a 18:00 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao, un errore è sicuramente questo: l'incremento di "i" e "j" è già nel ciclo for, quindi non devi farlo esplicitamente. Altrimenti ogni volta ottieni un incremento doppio.

  3. #3
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    inoltre puoi assegnare il risultato del confronto direttamente

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    32
    ho provato a fare una cosa del genere ma purtroppo mi da true o false solo in base all'ultimo elemento quindi se l'ultimo elemento dell'ultima riga è pari mi da false altrimenti true


    do {
    do{

    if (a[i][j]%2!=0){
    is_odd=true;
    i=i+1;
    cout<<"vero"<<endl;
    }
    else if (a[i][j]%2==0){
    j=j+1;

    }
    }while((is_odd=false)|| (i<n)) ;
    }while (j<n);

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    is_odd=false

    assegna non confronta
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    32
    mi stampa sempre vero così :/

  7. #7
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da crasty7 Visualizza il messaggio
    ho provato a fare una cosa del genere ma purtroppo mi da true o false solo in base all'ultimo elemento quindi se l'ultimo elemento dell'ultima riga è pari mi da false altrimenti true


    do {
    do{

    if (a[i][j]%2!=0){
    is_odd=true;
    i=i+1;
    cout<<"vero"<<endl;
    }
    else if (a[i][j]%2==0){
    j=j+1;

    }
    }while((is_odd=false)|| (i<n)) ;
    }while (j<n);
    è un gran mischione (a parte che i tag code li potresti pure mettere, o no?)

    Direi che stai cercando di lurkare un ciclo con flag, ma devi prima inizializzarla.

  8. #8
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Comincerei con la versione "estesa" (sì lo so lo so... andiamo per ordine)

    Questo come ti sembra?
    codice:
    is_odd=0;
    
    for (i=0; i<n; i++)
    {
         for (j=0; j<n; j++)
        {
            if (a[i][j]%2)
           {
               is_odd=1;
           }
        }
    }
    PS sì lo so... lo so... un passo alla volta...

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    32
    ok ci sta..dopo!? p:non so usare i tag code mi illumini??

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    I tag sono

    [ code ]
    [ /code ]

    senza gli spazi vicini alle parentesi, in mezzo ci va il tuo codice
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.