No older revisions available
No older revisions available
~cpp
#include <iostream>
#include <vector>
using namespace std;
void main()
{
int size;
cout << "몇 행(열)을 만드시겠습니까 ? =";
cin >> size;
vector <vector <int> > array;
array.resize(size);
for (int i = 0 ; i < size ; i++)
{
array[i].resize(size);
}
int st_place_h = 0;
int st_place_y = size/2;
int max = size * size;
for (int t = 0 ; t < size ; t++)
{
for (int y = 0 ; y < size ; y++)
array[t][y] = 0;
}
array[st_place_h][st_place_y] = 1;
for (int k = 1 ; k <= max ; k++)
{
array[st_place_h][st_place_y] = k;
st_place_h--;
st_place_y++;
if (st_place_h < 0)
st_place_h = size-1;
if (st_place_y == size)
st_place_y = 0;
if (array[st_place_h][st_place_y] != 0)
{
st_place_h ++;
if (st_place_h >= size)
st_place_h = 0;
st_place_h ++;
st_place_y --;
if (st_place_y <0 )
st_place_y = size-1;
}
if (st_place_h >= size)
st_place_h = 0;
}
for (int arr=0 ; arr < size ; arr++)
{
for (int arr_=0 ; arr_<size ; arr_++)
cout << array[arr][arr_] << "\t";
cout << endl;
}
}