Write a C Program to Print Magic Square where n>3 and n is odd
In this Page:
- Magic Square Program Source Code for Visual Studio Code
- Magic Square Program Source Code for MS Dos Turbo C++
Source Code for Visual Studio Code:
Output:
Enter order of Magic Square:5
The Magic Square
9 3 22 16 15
2 21 20 14 8
25 19 13 7 1
18 12 6 5 24
11 10 4 23 17
Source Code for MS Dos Turbo C++:
#include <stdio.h>
#include <string.h>
#include<conio.h>
void magicSquare(int n)
{
int x[50][50];
int row = n / 2;
int col = n - 1;
int limit=n*n;
int i,j,num;
// set all slots as 0
memset(x, 0, sizeof(x));
for (num = 1; num <= limit;)
{
if (row == -1 && col == n) // 3rd condition
{
row = 0;
col = n - 2;
}
else {
// 1st condition
if (row < 0)
row = n - 1;
// 1st condition
if (col == n)
col = 0;
}
if (x[row][col]) // 2nd condition
{
row++;
col =col- 2;
continue;
}
else
{
x[row][col] = num; // set number
num++;
}
row--; // 1st condition
col++;
}
// Print magic square
printf("The Magic Square \n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
printf("%3d ", x[i][j]);
printf("\n");
}
}
int main()
{
int n;
printf("Enter order of Magic Square:");
scanf("%d",&n);
if(n>3 && n%2!=0)
magicSquare(n);
else
printf("n value must be odd and greater than 3");
getch();
return 0;
}
Output:
Enter order of Magic Square:5
The Magic Square
9 3 22 16 15
2 21 20 14 8
25 19 13 7 1
18 12 6 5 24
11 10 4 23 17
No comments:
Post a Comment