Algorithm/Jungol (도형만들기1)

[1304] 숫자사각형3

whereareyoung 2023. 9. 12. 12:38

문제

정사각형의 한 변의 길이 n을 입력 받은 후 다음과 같이 숫자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오. 

[n = 5 인 경우]

[ 처리조건 ]

숫자의 진행 순서는 처음에 왼쪽 위에서 아래쪽으로 n만큼 진행 한 후 

바로 오른쪽 위에서 다시 아래쪽으로 진행하는 방법으로 정사각형이 될 때까지 반복한다.

입력

정사각형 한 변의 길이 n(n의 범위는 100 이하의 자연수)을 입력받는다.

출력

위의 형식과 같이 한 변의 길이가 n인 숫자 사각형을 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.


예제 입력

4

 

예제 출력

1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16


<입력의 설계>

- 입력받을 수 n / 반복문용 i, j / 숫자 세기용 cnt / 정렬용 arr 배열 선언 후 초기화함 

- 100 이하의 자연수일 경우만 if문 실행 

 

<출력의 설계>

- j 와 i 의 순서로 행, 열 맞추고 i 의 순서를 뒤집어 줘서 스택 쌓아서 숫자 입력 

- 배열 순서대로 출력 

 

제출답변

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int n;
    int i, j;
    int cnt = 1;
    int arr[100][100] = {0};

    scanf("%d", &n);
    if (n <= 100 && n > 0)
    {

        for (j = 0; j < n; j++)
        {
            for (i = 0; i <= n - 1; i++)
            {
                arr[i][j] = cnt++;
            }
        }

        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                printf("%d ", arr[i][j]);
            }
            printf("\n");
        }
    }

    return 0;
}

 

'Algorithm > Jungol (도형만들기1)' 카테고리의 다른 글

[1307] 문자사각형1  (0) 2023.09.12
[2046] 숫자사각형4  (0) 2023.09.12
[1856] 숫자사각형2  (0) 2023.09.12
[1303] 숫자사각형1  (0) 2023.09.12
[1341] 구구단2  (0) 2023.09.12