Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. Dada uma matriz quadrada dimensão MxM,verifique se ela é um quadrado mágico através de um algoritmo. Exemplo de matriz quadrado mágico:
[8 0 7
4 5 6
3 10 2]
#include
#include
int main(){
int v[4][4];
int i, j, l1=0, l2=0, l3=0, l4=0, c1=0, c2=0, c3=0, c4=0, dp=0, ds=0;
for(i=0; i<4; i++){
for(j=0; j<4; j++){
scanf("%d", &v[i][j]);
}
}
for(i=0; i<4; i++){
for(j=0; j<4; j++){
if(i==0) l1+=v[i][j];
if(i==1) l2+=v[i][j];
if(i==2) l3+=v[i][j];
if(i==3) l4+=v[i][j];
if(j==0) c1+=v[i][j];
if(j==1) c2+=v[i][j];
if(j==2) c3+=v[i][j];
if(j==3) c4+=v[i][j];
if(i==j) dp+=v[i][j];
if(i==4-1-j || j==4-1-i) ds+=v[i][j];
}
}
printf("%d\n", l1);
printf("%d\n", l2);
printf("%d\n", l3);
printf("%d\n", l4);
printf("%d\n", c1);
printf("%d\n", c2);
printf("%d\n", c3);
printf("%d\n", c4);
printf("%d\n", dp);
printf("%d\n", ds);
if(l1== l2 && l2==l3 && l3==l4 && l4==c1 && c1==c2 && c2==c3 && c3==c4 && c4==dp && dp==ds){
puts("E um quadrado magico\n");
}
else{
puts("nao e");
}
return 0;
}
Portanto, temos então que o código acima verifica se uma matriz é um quadrado mágico ou não.
Para escrever sua resposta aqui, entre ou crie uma conta
Algoritmos e Programação C++
•UFMS
Compartilhar