Program to generate magic square
Program:
#include<stdio.h>
void main()
{
int n, i, j, c, a[9][9];
clrscr();
printf("Enter the size of the magic square : ");
scanf("%d", &n);
if (n % 2 == 0)
{
printf("\nMagic square is not possible");
goto end;
}
printf("\nThe magic square for %d x %d is :\n\n", n, n);
j = (n + 1) / 2;
i = 1;
for(c = 1 ; c <= n * n ; c++)
{
a[i][j] = c;
if(c % n == 0)
{
i = i + 1;
goto loop;
}
if(i == 1)
i = n;
else
i = i - 1;
if(j == n)
j = 1;
else
j = j + 1;
loop : ;
}
for (i = 1 ; i <= n ; i++)
{
for (j = 1 ; j <= n ; j++)
{
printf("%d\t", a[i][j]);
}
printf("\n\n");
}
end : ;
getch();
}
Output:
Case: 1
Enter the size of the magic square : 3
The magic square for 3 x 3 is :
8 1 6
3 5 7
4 9 2
Case: 2
Enter the size of the magic square : 4
Magic square is not possible
-
UpdatedDec 30, 2019
-
Views35,106
You May Like
Program to maintain employee details using structures
Program to maintain student details using structures
Check whether the person is eligible to vote or not
Print the numbers that are divisible by a given no.
Program to generate magic square
To sort the given numbers in ascending & descending order