~cpp #include <iostream> using namespace std; int main() { int size; int i, j; do{ // 까 cout << " () : "; cin >> size; if ( !(size%2)) cout << "!\n"; }while(!(size%2)); int **board = new int * [size+2]; // 2 for(i=0; i< size+2; i++) board[i] = new int [size+2]; for(i=0; i<size+2; i++) // 기 for(j=0; j<size+2; j++) board[i][j] = 0; int num = 1; int row = 1; int mid = size / 2; int col = mid + 1; board[row][col] = num; while(num != size*size) // 까 { row --; col ++; // , if (row == 0) // 경 row = size; // if (col == size+1) // 경 col = 1; // if (!board[row][col]) // 경 { num++; board[row][col] = num; // } else // 경 { row ++; col --; //기 if (row == 0) // 경 row = size; // if (col == size) // 경 col = 1; // if ( row == size && col == 1)// 경 { row=1; col = size; // } else //그 경 { row--; col++; // } row++; // num++; board[row][col] = num; // } } for(i=1; i<size+1; i++) // { for(j=1; j<size+1; j++) { cout << board[i][j] <<"\t"; } cout << "\n"; } return 0; }