Oppure

Loading
22/10/10 11:03
ciao888
ho visto che un professore, costruita una matrice quadrata, le calcola in questo modo:
void somma_diagonale(int r, int M[][10], int v[]) // r è la dimensione della matrice che puo' essere max10
{
int somma = 0
for(int i=0; i<r; i++)//r è la dimensione della matrice
{ for (int j=0; j<r; j++)
 somma += m[j][(i+j) % (r)];
v[i] = somma;
somma = 0;
}}


però non penso sia un metodo esatto perchè a me viene solo il valore della somma di una diagonale e non di tutte quante, ad esempio nella matrice:
123
456
789
a me viene 15 15 15, come potrei correggere?
Ultima modifica effettuata da ciao888 22/10/10 11:05
aaa
22/10/10 15:55
Il Totem
Se vuoi trovare la somma dei valori della diagonale secondaria devi usare un solo for:
for(int = 0; i < r; i++)
   somma += m[i][r - i - 1]
Ultima modifica effettuata da Il Totem 22/10/10 15:57
aaa