2019-04-08 과제 (정사각형 숫자 대각선 만들기)

2019. 4. 9. 18:57Layer7

#include <stdio.h>

int array[100][100] = { 0 };
int W = 10;

void run(int num);
void print();

int main()
{
    printf("숫자 입력 : ");
    scanf("%d", &W);
    run(1);
    print();
}

void run(int num)
{
    int _for, __for, x = -1, y = -1;
    if(num > W * W)
    {
        return;
    }
    for(_for = 0;_for < W && x == -1;_for++)
    {
        for(__for = 0;__for < W && x == -1;__for++)
        {
            if(array[_for][__for] == 0)
            {
                x = __for;
                y = _for;
            }
        }
    }
    while(y < W && x >= 0)
    {
        array[y++][x--] = num++;
    }
    run(num);
}

void print()
{
    int _for, __for;
    for(_for = 0;_for < W;_for++)
    {
        for(__for = 0;__for < W;__for++)
        {
            printf("%3d", array[_for][__for]);
        }
        printf("\n");
    }
}
//Scripted By ScriptConverter, using run_prettify.js