No older revisions available
No older revisions available
~cpp
#include <iostream>
using namespace std;
int number[9][9]={{0,},};
void main()
{
int k;
int i=0;
cout<<"마방진 작성 프로그램입니다. 홀수를 입력하세요 >> ";
while(i==0)
{
cin >> k;
i = k%2;
}
int MAX = k-1;
int x = k/2;
int y = 0;
int col=1;
int final = k*k;
int count= 1;
number[y][x]=count;
for(count=2;count<=final;count++)
{
int newy=y;
int newx=x;
y--;
x++;
if (y<0)
y=MAX;
if (x>MAX)
x=0;
if (number[y][x]==0)
number[y][x]=count;
else
{
newy++;
if (newy>MAX)
newy=0;
number[newy][newx]=count;
y=newy;
x=newx;
}
}
for (int p=0;p<=MAX;p++)
{
for (int l=0;l<=MAX;l++)
{
cout << number[p][l]<<"\t";
}
cout<<endl;
}
}