/* check the matrix is magic square */
#include <stdio.h>
#include <conio.h> void main()
{
int a[10][10],i=0,j=0,m ,n,sum=0,sum1=0,tempsum1=0,tempsum=0; clrscr();
printf("\n Enter the order of matrix mxn \n "); scanf("%d%d",&m,&n);
if(m!=n)
{
printf(" is not possible\n"); getch();
}
else
{
printf("Enter values of matrix \n"); for(i=0;i<m;i++)
{
for(j=0;j<n;j++) scanf("%d",&a[i][j]);
}
if(m==n)
{
i=0;
while(i<m)
{
sum=0; sum1=0; for(j=0;j<n;j++)
{
sum+=a[i][j];
sum1+=a[j][i];
}
printf("Row%d sum is:%d\n",i+1,sum); printf("Col%d sum is:%d\n",i+1,sum1); if(sum !=sum1)
{
printf("Not a Magic square\n"); getch();
exit();
}
if((i!=0 && sum!=tempsum) || (i!=0 && sum1 !=tempsum1))
{
printf("Not a Magic square1\n"); getch();
exit();
}
else i=i+1;
tempsum=sum; tempsum1=sum1;
}
//check for diagonal sum sum=0;
sum1=0; for(i=0;i<m;i++) sum+=a[i][i]; i=0;
for(j=m-1;j>=0;j--)
{
sum1+=a[i++][j];
}
printf("sum=%d,sum1=%d",sum,sum1); if(sum!=sum1)
{
printf("Not a Magic square3\n"); getch();
exit();
}
}
printf("Magic Square\n"); getch();
}
} // end
No comments:
Post a Comment