Semplice dubbio
ho questa matrice:
int MAT[3][3], i, j;
memset (MAT, 0, sizeof(MAT)); /* azzeramento della matrice */
for (i=0; i<3; i++)
for (j=i; j<3; j++)
MAT[j] = i+j + 1;
l'elemento MAT[2][1] è uguale a zero: perchè? devo avere fatto un errore veramente grossolano perchè il mio risultato è 4..
grazie mille!
int MAT[3][3], i, j;
memset (MAT, 0, sizeof(MAT)); /* azzeramento della matrice */
for (i=0; i<3; i++)
for (j=i; j<3; j++)
MAT[j] = i+j + 1;
l'elemento MAT[2][1] è uguale a zero: perchè? devo avere fatto un errore veramente grossolano perchè il mio risultato è 4..
grazie mille!
Risposte
a naso l'errore è nel secondo for
for (j=i,j<0,j++)
Questo codice guarda gli elementi nella sola matrice triangolare superiore.
Se lo scopo del programma è compilare l'intera matrice con i valori i+j+1 allora basta che metti: for(j=0,j<3,j++) e non hai problemi, perchè così hai il secondo cilco che parte sempra dalla prima posizione.
Una cosa il memset è inutile qua, perchè che fosse inizializzata o meno la matrice, l'inizializzazione non la guarderai mai.
Seconda cosa metti le graffe, e la tabulazione, è buona norma scrivere codice ben formato e tabulato, anche se banale e semplice.
ciao
for (j=i,j<0,j++)
Questo codice guarda gli elementi nella sola matrice triangolare superiore.
Se lo scopo del programma è compilare l'intera matrice con i valori i+j+1 allora basta che metti: for(j=0,j<3,j++) e non hai problemi, perchè così hai il secondo cilco che parte sempra dalla prima posizione.
Una cosa il memset è inutile qua, perchè che fosse inizializzata o meno la matrice, l'inizializzazione non la guarderai mai.
Seconda cosa metti le graffe, e la tabulazione, è buona norma scrivere codice ben formato e tabulato, anche se banale e semplice.
int MAT[3][3], i, j; for (i=0; i<3; i++){ for (j=0; j<3; j++){ MAT[i][j] = i+j + 1; } }
ciao
Scusami ora riscrivo anche l'altro posto con più chiarezza!
Grazie mille ora ho capito! non visualizzavo la matrice dopo la compilazione!

Grazie mille ora ho capito! non visualizzavo la matrice dopo la compilazione!