Você está na página 1de 2

#include <iostream>

using namespace std;

int main()
{
int n;

cout << "Entre com o valor de n: ";


cin >> n;

int A[n][n];

cout << "Entre com a matriz A, de " << n


<< " x " << n << ": " << endl;

for(int i=0; i<n; i++)


for(int j=0; j<n; j++)
cin >> A[i][j];

bool quadradoMagico = true;

//Calcula o somatório da diagonal principal


int somaDiagonal = 0;

for(int i=0; i<n; i++)


somaDiagonal = somaDiagonal + A[i][i];

int soma = 0;

//Verifica o somatório da diagonal secundaria


for(int i=0; i<n; i++)
soma = soma + A[i][n-1-i];

if(soma != somaDiagonal)
quadradoMagico = false;

//Verifica o somatório de cada linha


for(int i=0; i<n; i++)
{
soma = 0;
for(int j=0; j<n; j++)
soma = soma + A[i][j];

if(soma != somaDiagonal)
quadradoMagico = false;
}

//Verifica o somatório de cada coluna


for(int j=0; j<n; j++)
{
soma = 0;
for(int i=0; i<n; i++)
soma = soma + A[i][j];

if(soma != somaDiagonal)
quadradoMagico = false;
}

if(quadradoMagico == true)
cout << "A Matriz eh um quadrado magico!";
else
cout << "A Matriz nao eh um quadrado magico!";

return 0;
}

Você também pode gostar