Write a c program to check whether the given matrix is a magic square matrix or not? A magic square is a simple mathematical game developed during the 1500.Square is divided into equal number of rows and columns.Start filling each square with the number from 1 to num ( where num = No of Rows X No of Columns ).You can only use a number once.Fill each square so that the sum of each row is the same as the sum of each column.
Code:
#include<stdio.h>
#include<conio.h>
int main() {
int size = 3;
int matrix[3][3];
int row, column = 0;
int sum, sum1, sum2;
int flag = 0;
printf("\nPlease Enter matrix : ");
for (row = 0; row < size; row++) {
for (column = 0; column < size; column++)
scanf("%d", &matrix[row][column]);
}
printf("Matrix: \n");
for (row = 0; row < size; row++) {
printf("\n");
for (column = 0; column < size; column++) {
printf("\t%d", matrix[row][column]);
}
}
sum = 0;
for (row = 0; row < size; row++) {
for (column = 0; column < size; column++) {
if (row == column)
sum = sum + matrix[row][column];
}
}
for (row = 0; row < size; row++) {
sum1 = 0;
for (column = 0; column < size; column++) {
sum1 = sum1 + matrix[row][column];
}
if (sum == sum1)
flag = 1;
else {
flag = 0;
break;
}
}
for (row = 0; row < size; row++) {
sum2 = 0;
for (column = 0; column < size; column++) {
sum2 = sum2 + matrix[column][row];
}
if (sum == sum2)
flag = 1;
else {
flag = 0;
break;
}
}
if (flag == 1)
printf("\nMagic square");
else
printf("\nNo Magic square");
return 0;
}