幻方:
#include?
"
iostream.h
"
int
?main()
{
????????
int
?N,i,j,count;
????????cout
<<
"
Please?enter?N:
"
;
????????cin
>>
N;
????????
int
?
**
arr
=
new
?
int
*
?[N];
????????
for
(i
=
0
;i
<
N;i
++
)
????????????????arr[i]
=
new
?
int
[N];
????????
for
(i
=
0
;i
<
N;i
++
)
????????????????
for
(j
=
0
;j
<
N;j
++
)
????????????????????????arr[i][j]
=
0
;
????????arr[
0
][(N
+
1
)
/
2
-
1
]
=
1
;
????????
for
(count
=
1
,i
=
0
,j
=
(N
+
1
)
/
2
-
1
;count
<
N
*
N;count
++
)
????????
{
????????????????i
--
;
????????????????j
--
;
????????????????
if
(i
==-
1
)
????????????????????????i
=
N
-
1
;
????????????????
if
(j
==-
1
)
????????????????????????j
=
N
-
1
;
????????????????
if
(arr[i][j]
==
0
)
????????????????????????arr[i][j]
=
count
+
1
;
????????????????
else
?
if
(arr[i][j]
>
0
)
????????????????
{
????????????????????????i
=
i
+
2
;
????????????????????????j
=
j
+
1
;
????????????????????????
if
(j
==
N)
????????????????????????????????j
=
0
;
????????????????????????
if
(i
==
N)
????????????????????????????????i
=
0
;
????????????????????????
else
?
if
(i
==
N
+
1
)
????????????????????????????????i
=
1
;
????????????????????????arr[i][j]
=
count
+
1
;
????????????????}
????????}
????????
for
(i
=
0
;i
<
N;i
++
)
????????
{
????????????????
for
(j
=
0
;j
<
N;j
++
)
????????????????
{
????????????????????????cout
<<
arr[i][j]
<<
"
?
"
;
????????????????}
????????????????cout
<<
"
\n
"
;
????????}
?????????????????????
for
(i
=
0
;i
<
N;i
++
)
????????????????delete?[]?arr[i];
????????delete?[]?arr;
????????
return
?
1
;
}

