본문 바로가기

기타

spiral

#include <iostream>

using namespace std;

int main(void)
{
    int n, ver, hoz, x = 0, y = 0, num = 1, i, j,k ,cas = 1;
    int v[100][100];
    cout << "Input Number :";
    cin >> n;

    ver = n, hoz = n;

    for (i = 0; i < n; i++)
    {
        v[x+i][y] = num++;
    }
    x += n - 1;
    for (i = 1; i <= n; i++)
    {
        for (j = 0; j < 2; j++)
        {
            if (cas == 0)
            {
                for (k = 1; k <= n-i; k++)
                {
                    v[x+k][y] = num++;
                }
                x+=n-i;
                cas++;
            }
            else if (cas == 1)
            {
                for(k=1;k<=n-i;k++)
                {
                    v[x][y+k]=num++;
                }
                y+=n-i;
                cas++;
            }
            else if (cas == 2)
            {
                for(k=1;k<=n-i;k++)
                {
                    v[x-k][y]=num++;
                }
                x-=n-i;
                cas++;
            }
            else
            {
                for(k=1;k<=n-i;k++)
                {
                    v[x][y-k]=num++;
                }
                y-=n-i;
                cas=0;
            }
        }
    }

    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            cout.width(3);
            cout << v[j][i];
        }
        cout << endl;
    }
}

'기타' 카테고리의 다른 글

x y z 오름차순 출력  (0) 2021.11.01
n개의 Boolean 출력  (0) 2021.11.01
horner 함수  (0) 2021.11.01
<18> Q4. Do it C언어 입문  (0) 2020.08.20
<14> Q4. Do it C언어 입문  (0) 2020.08.10