Home > Study > C Language > C task > [ex45] 배열의 회전

[ex45] 배열의 회전
Study Language

문제 설명


a 배열의 행과 열을 바꾸어 b 배열에 저장하는 코드를 설계하라.
a와 b 배열의 예는 다음과 같다.

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

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

입력 설명


배열의 크기 N 및 N* N 크기의 배열 a를 입력 받는다
N은 (1 <= N <= 10) 범위이다.

출력 설명


a 배열을 문제에서 제시한 것과 같이 회전하여 b 배열에 저장하고, b 배열의 내용을 출력 한다.

입력 예시


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

출력 예시


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

정답 코드


#include <stdio.h>

int a[10][10];
int b[10][10];
int N;

int main(void)
{
	int i, j;

	scanf("%d", &N);
	
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N; j++)
		{
			scanf("%d", &a[i][j]);
		}
	}

	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N; j++)
		{
			b[N - 1 - j][N - 1 - i] = a[i][j];
		}
	}

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

메모


printf 내부의 \n 습관화 필요