## Write C++ program to Check if Matrix is Magic Matrix or Not

// CPP 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 <iostream>
#include <math.h>
#include <stdbool.h>

using namespace std;

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;

cout << "Matrix A :--> \n";
for(i = 0;i < 3; i++)
{
for( j = 0; j < 3; j++)
{
cout << A[i][j] << " ";
}
cout << endl;
}

if (isMagicSquare(A))
cout << "\nGiven Matrix is Magic Matrix";
else
cout << "\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