Sunday, 26 October 2014

Magic Square matrix

Non-Recursive C Program:

Aim:
To check given matrix magic square matrix or not.

Program:
#include<stdio.h>
#include<conio.h>
void main ( )
{
  int A[10][10],i,j,m,n,sum=0,sumr,suml,flag=0,sumd=0;

printf("Enter the order of matrix:\n");
scanf("%d%d",&m,&n);

printf("\nEnter the elements:");
  for(i=0;i<m;i++)
     {
        for(j=0;j<n;j++)
          {
             scanf("%d",&A[i][j]);
           }
      }

printf("\nThe matrix is:");
  for(i=0;i<m;i++)
     {
        for(j=0;j<n;j++)
          {
             printf("%3d",A[i][j]);
           }
        printf("\n");
      }

  if ( m==n)
{
printf("\n The given matrix is square matrix and");

for(i=0;i<m;i++)
  {
    for(j=0;j<n;j++)
      {
         if(i==j)
           sum+ = A[i][j] ;
       }
   }

for(i=0;i<m;i++)
  {
    for(j=0;j<n;j++)
      {
         if(i==j)
           sum+ = A[i][j] ;
       }
   }

for(i=0;i<m;i++)
  { 
    sumr=0;
    for(j=0;j<n;j++)
      {
           sumr+ = A[i][j] ;
       }
    if(sum!=sumr)
      {
         flag=1;
         break;
      }
   }

for(i=0;i<m;i++)
  { 
    sumc=0;
    for(j=0;j<n;j++)
      {
           sumc+ = A[j][i] ;
       }
    if(sum!=sumc)
      {
         flag=1;
         break;
      }
   }

    if ( flag==1)
printf("\n The given matrix is not magic square matrix");
    else
printf("\n The given matrix is  magic square matrix");
}

  else
printf("\n The given matrix is not square matrix and no possible of magic square matrix");
}

No comments:

Post a Comment