-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMagicSquare.cpp
More file actions
93 lines (52 loc) · 961 Bytes
/
MagicSquare.cpp
File metadata and controls
93 lines (52 loc) · 961 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#define MAX_SIZE 100
using namespace std;
void magic(int n);
int main()
{
int numdata;
cout << "size" << endl;
cin >> numdata;
magic(numdata);
return 0;
}
void magic(int num)
{
int sqr[MAX_SIZE][MAX_SIZE]={{0},{0}};
int k , l;
sqr[0][(num-1)/2]=1;
int key = 2;
int i = 0 ;
int j = (num-1)/2;
if((num%2)!=0)
{
while(key<=num*num)
{
if(i-1<0)
k=num-1;
else
k=i-1;
if(j-1<0)
l=num-1;
else
l=j-1;
if(sqr[k][l])
i=(i+1)%num;
else
{
i=k;
j=l;
}
sqr[i][j]=key;
key++;
}
for(int x = 0 ; x < num ; x++)
{
for(int y = 0 ; y < num ; y++)
cout << sqr[x][y] << " ";
cout << endl;
}
}
else
cout << "잘못된 입력입니다." << endl;
}