\#include
\#include
int main () {
int i, j,lin,col;
printf ("Digite as dimensoes da matriz:\n");
scanf ("%d %d", &lin, &col);
int matriz[lin][col], somalin[col], somacol[lin],somadiag1=0, somadiag2=0, aux=0;
printf ("Digite os elementos: \n");
//leiura dos elementos
for (i=0; i for (j=0; j scanf ("%d", &matriz[i][j]); } } //somatorio de cada linha for (i=0; i for (j=0; j aux += matriz [i][j]; } somalin[i] = aux; aux = 0; } //somatorio de cada coluna for (i=0; i for (j=0; j aux += matriz [i][j]; } somacol[i] = aux; aux = 0; } //somatorio diagonal principal ( linha == coluna ou i == j) for (i=0; i for(j = 0; j < col; j++){ if(i == j){ aux += matriz[i][j]; } } } somadiag1 = aux; aux = 0; //somatorio diagonal secundaria (inferior esquerda para superior direita) for (i = 0, j = col - 1; i < lin; ++i, --j) { aux += matriz[i][j]; } somadiag2 = aux; //comparação dos valores das diagonal principal e secundaria if (somadiag1 != somadiag2){ printf ("Nao eh quadrado magico!\n"); return 0; } //comparação do somatório de cada linha com o somatório de cada coluna for (i=0; i for(j = 0; j if (somalin[i] =! somacol[j]){ printf ("Nao eh quadrado magico!\n"); return 0; } } } //comparação do somatório de uma linha/coluna qualquer com o de uma diagonal qualquer if (somalin[0] != somadiag1){ printf ("Nao eh quadrado magico!\n"); return 0; } printf ("A matriz é um quadrado magico!\n"); system ("PAUSE"); return 0; }
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar