ciao, mi dareste un aiutino a migliorare questo pezzo di codice?
codice:
public boolean quadratoMagico(double[][] m){
if(m.length != m[0].length) throw new RuntimeException("La matrice non è quadrata");
int p=0; int c=0;
for(int k=0; k<m.length; k++) p+=m[0][k];
for(int i=1; i<m.length; i++){
for(int j=0; j<m.length; j++)
c+=m[i][j];
if(c!=p) return false;
c=0;
}
for(int i=0; i<m.length; i++)
c+=m[i][i];
if(c != p) return false;
else c=0;
for(int i=0; i<m.length; i++)
c+=m[i][m.length];
if(c != p) return false;
return true;
}
mi rendo conto già da solo che fa proprio schifo XD quindi per favore non fate commenti su come è scritto grazie
EDIT: per una più veloce comprensione questo è l'esercizio che dovevo fare:
boolean quadratoMagico( matrice m )
riceve una matrice quadrata m di interi e ritorna true se essa forma un quadrato magico, cioè la somma degli
elementi di una qualunque riga, di una qualunque colonna, della diagonale principale e della diagonale
secondaria è sempre uguale ad una stessa costante