C program to Check if Matrix is Magic Matrix or Not
Write C program to Check if Matrix is Magic Matrix or Not
// C program to Check if Matrix is Magic Matrix or Not
//magic matrix is that matrix having sum of all the elements in the row and column as well as diagonal as same values
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
bool isMagicSquare(int A[3][3])
{
int n = sizeof(A) / sizeof(A[0]), i , j;
int sumd1 = 0, sumd2 = 0;
for(i = 0;i < n; i++)
{
sumd1 += A[i][i];
sumd2 += A[i][n-1-i];
}
if(sumd1 != sumd2)
return false;
for(i = 0; i < n; i++)
{
int sumr = 0,sumc = 0;
for(j = 0;j < n; j++)
{
sumr += A[i][j];
sumc += A[j][i];
}
if(sumr != sumc || sumr != sumd1)
return false;
}
return true;
}
int main()
{
int A[3][3] = { {2, 1, 6}, {9, 5, 1}, {4, 3, 8} }, i, j;
printf("Matrix A :--> \n");
for(i = 0;i < 3; i++)
{
for( j = 0; j < 3; j++)
{
printf("%d ", A[i][j]);
}
printf("\n");
}
if (isMagicSquare(A))
printf("\nGiven Matrix is Magic Matrix");
else
printf("\nGiven Matrix is Not Magic Matrix");
return 0;
}
Output:
Matrix A :-->
2 1 6
9 5 1
4 3 8
Given Matrix is Magic Matrix