No older revisions available
No older revisions available
소스 ¶
~cpp
#include <iostream>
using namespace std;
int main()
{
int num, line, row;
cout << "마방진을 만들겠습니다. 한자리의 홀수를 입력하십시오. ";
cin >> num;
while (num > 9 || num < 0 || num % 2 == 0)
{
cout << "잘못 입력하셨습니다.\n한자리의 홀수를 입력하십시오. ";
cin >> num;
}
int mbj[9][9] = {0,0 };
line = num - 1;
row = num / 2;
for (int i = 0 ; i < num * num ; i++)
{
mbj[line][row] = i + 1;
if (line == num - 1)
line = 0;
else line++;
if (row == num - 1)
row = 0;
else row++;
if (mbj[line][row] != 0)
if(line == 0 && row == 0)
{
line = num - 2;
row = num - 1;
}
else
{
line -= 2;
row--;
}
}
for (i = 0 ; i < num; i++)
{
for (int j = 0 ; j < num ; j++)
{
cout.width(2);
cout << mbj[i][j] << " ";
}
cout << endl;
}
system("pause");
return 0;
}