vuoi
o PayPal
tutte le volte che vuoi
/*Scrivere un programma C che presa una matrice quadrata contenente valori
interi determini se si tratta di una matrice magica. Una matrice si dice magica
quando la somma degli elementi di ogni riga è uguale alla somma di quelli di
ogni colonna e questo valore è anche uguale alla somma degli elementi della
diagonale principale e alla somma degli elementi della diagonale secondaria*/
#include <stdlib.h>
#include <stdio.h>
int main ()
{ int lato,sommaTemp=0,somma,i,j,y;
printf(" ------ MATRICE MAGICA -------\n\n");
do
{ printf("inserirere il lato della matrice quadrata: ");
scanf("%d",&lato);
if(lato<2)
{ printf("il lato di una matrice deve essere minimo di 2 unita'\n\n");
}
}
while (lato<2);
int mat[lato][lato];
for (i=0;i<lato;i++) // inserimento numeri nella matrice
{ for (j=0;j<lato;j++)
{ printf("cella (%d,%d) --> ",i+1,j+1);
scanf("%d",&mat[i][j]);
}
}
printf("\n");
for (i=0;i<=lato-1;i++) // stmapa matrice
{ for (j=0;j<=lato-1;j++)
{ printf(" %d",mat[i][j]);
}
printf("\n");
}
for(i=0;i<lato;i++) // sommiamo i valori della diagonale principale
{ sommaTemp+=mat[i][i];
}
somma=sommaTemp;
sommaTemp=0;
for(i=0,j=lato-1;i<lato;i++,j--) //sommiamo i valori della diagonale secondaria
{ sommaTemp+=mat[i][j];
}