18/05/10 20:38
Poggi Marco
Postato originariamente da nessuno:
La if serve a controllare ... ma devi dire cosa fare dopo il controllo ... per uscire ci vuole la break.
La if la inserisci dopo il ciclo interno.
for(i=0;i<rig;i++)
{
for(j=0;j<col;j++)
{
cout<<"\n Dammi il valore della cella delle coppie [ "<<i<<","<<j<<" ] ";
cin>>c[ i ][ j ];
}
if(c[ i ]==0 && c[ j ]==0) break;
}
Ciao!
Ho letto il tuo programma, e ho trovato alcune imperfezioni:
Ad esempio il test lo fai all' esterno del ciclo " di input".
In questo modo la variabile j sarà sicuramente in overflow rispetto al vettore c.
Il test, a mio avviso, va inserito dentro al ciclo più interno.
Ultima modifica effettuata da Poggi Marco 18/05/10 20:52
aaa
18/05/10 20:52
Postato originariamente da Poggi Marco:
Il test, a mio avviso, va inserito dentro al ciclo più interno.
L'osservazione sulla variabile j va bene, ma il controllo va fatto lì ... semmai la if è proprio sbagliata in quanto deve essere essere
if(c[ i ][ 0 ]==0 && c[ i ][ 1 ]==0) break;
Ultima modifica effettuata da 18/05/10 20:53
18/05/10 21:13
Poggi Marco
Va benissimo anche così, dato che devo controllare una matrice di due colonne e n righe.
Un' alternativa sarebbe questa:
for(i=0;i<rig;i++)
{
cout<<"\nRiga "<<i+1<<endl;
cout<<"colonna 1 ? ";
cin>>c[i][0];
cout<<"colonna 2 ? ";
cin>>c[i][1];
if(c[ i ] [0]==0 && c[ i ] [1]==0) break;
}
Ultima modifica effettuata da Poggi Marco 18/05/10 21:25
aaa
18/05/10 21:16
Sì ... hai semplicemente eliminato la for interna ... ma la if va dove ti avevo detto ...
18/05/10 21:24
Poggi Marco
Scusa, nessuno, effettivamente sono due programmi identici.
aaa
19/05/10 19:23
metalazo
la soluzione di Poggi funziona....adesso se volessi sapere qual'è la coppia formata dai numeri + grandi come potrei fare ???
aaa