이거 딴애들꺼 힐끔 보니까..다들 2차원 배열을 썼던데...
끝까지 2차원 배열을 안쓰겠다는 일념으로 짰습니다~~..
내용을 보시면 무지 허접합니다~..^^;
마방진 입니다.
~cpp
#include<iostream>
using namespace std;
int main()
{
int soo;
int ma[9][9];
cout << "몇개의 칸으로 마방진을 할까??(9까지만 됨) ";
cin >> soo;
cout << soo << "*" << soo << "으로 한단말이지??\n";
int x = (soo-1)/2;
int y = 0;
for(int q=0; q<9; q++)
for(int w=0; w<9; w++)
ma[q][w] = 0;
ma[x][y] = 1;
for(int i=2; i<=(soo*soo); i++)
{
if(x == soo-1 && y == 0)
{
y++;
ma[x][y] = i;
}
else if(y == 0)
{
x++;
y=soo-1;
if(ma[x][y] != 0)
y--;
ma[x][y] = i;
}
else if(x == soo-1)
{
y--;
x=0;
if(ma[x][y] != 0)
x++;
ma[x][y]=i;
}
else
{
x++;
y--;
if(ma[x][y] != 0)
{
x--;
y= y+2;
ma[x][y] = i;
}
else
ma[x][y] = i;
}
}
for (int t=0; t<soo; t++)
{
for(int r=0; r<soo; r++)
cout << ma[r][t] << "\t";
cout << endl << endl;
}
return 0;
}