*14 Algoritmo : Quadrado Magico
Autor: Kahh * | Publicado: 2010-12-01T08:08:00-08:00

" Cause I'd get a thousand hugs from ten-thousand lightning bugs "

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. 




#include&lt;stdio.h&gt;#include&lt;conio.h&gt;main(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i,j,n,A[10][10],L[10],C[10],soma,dp,ds,k,chave=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Digite as dimensoes do quadrado\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d",&amp;n);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Digite os valores do quadrado\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;for(j=1;j&lt;=n;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scanf("%d",&amp;A[i][j]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Quadrado:\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {for(j=1;j&lt;=n;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\t%d",A[i][j]);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\n");}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Soma linha: ");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {soma=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j=1;j&lt;=n;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {soma=soma+A[i][j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L[i]=soma;}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {printf("\nL[%d]=%d",i,L[i]);}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\nSoma coluna: ");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j=1;j&lt;=n;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {soma=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {soma=soma+A[i][j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C[j]=soma;}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {printf("\nC[%d]=%d",i,C[i]);}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dp=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {dp=dp+A[i][i];}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\nDiagonal principal: %d",dp);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ds=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=1;i&lt;=n;i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {for(j=1;j&lt;=n;j++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {if (i+j==n+1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ds=ds+A[i][j];}}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\nDiagonal secundaria: %d",ds);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(k=2;k&lt;=n;k++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {if (L[1]==L[k] &amp;&amp; C[1]==C[k] &amp;&amp; L[1]==dp &amp;&amp; L[1]==ds &amp;&amp; L[1]==C[1])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {chave=1;}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (chave=1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {printf("\nEh um quadrado magico");}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {printf("\nNao eh um quadrado magico");}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\n\n*Fim do algoritmo*");
getch();}
Valeeeeeu !
;D