Alcuni consigli:
1) Come ti ha già suggerito anche paolino_delta_t: ricorda di inizializzare sempre le variabili (è una buona regola da tenere a mente)
codice:int i,j; i = j = 0;
2) max non va inizializzata a 0: se per sfortuna hai una matrice composta solo di valori negativi (o, comunque, se la diagonale superiore fosse composta solo di numeri negativi) il tuo "max" sarebbe sempre maggiore di qualunque valore, inficiando il risultato della funzione. La variabile max andrebbe inizializzata al primo valore che vai a "leggere" dalla matrice
codice:max = mat[0][0];
3) Il while è perfettamente inutile: si può fare tutto il lavoro usando semplicemente i due for annidati: pensaci.
4) La prima istruzione del ciclo for sulle righe è sbagliata: non ci va proprio, perchè così facendo, ad ogni cambio di riga vai a perdere il max accumulato nella riga precedente... ovviamente non va bene.
Ciao.![]()



Rispondi quotando
