728x90
반응형

문제 : https://codeup.kr/problem.php?id=1478

 

[기초-배열연습] 2차원 배열 빗금 채우기 3-3

다음과 같은 n*m 배열 구조를 출력해보자. 입력이 3 4인 경우 다음과 같이 출력한다. 7 4 2 1 10 8 5 3 12 11 9 6 입력이 4 5인 경우는 다음과 같이 출력한다. 11 7 4 2 1 15 12 8 5 3 18 16 13 9 6 20 19 17 14 10 입력이

codeup.kr

 

문제 설명

다음과 같은 n*m 배열 구조를 출력해보자.

입력이 3 4인 경우 다음과 같이 출력한다.
7 4 2 1
10 8 5 3
12 11 9 6

입력이 4 5인 경우는 다음과 같이 출력한다.
11 7 4 2 1
15 12 8 5 3
18 16 13 9 6
20 19 17 14 10

입력이 n m인 경우의 2차원 배열을 출력해보자.

 

입력

첫 번째 줄에 배열의 크기 n m이 입력된다.
[입력값의 정의역]
1<=  n,m <= 100

출력

n*m 크기의 배열을 설명과 같이 채워 출력한다.

 

입력 예시

2 3

출력 예시

4 2 1
6 5 3

 

 

코드 : 

# include <stdio.h>
# include <stdlib.h>

int main()
{
	int i,j,n,m,k;
	int arr[100][100];
	int cnt = 1;
	scanf("%d %d",&n,&m);
	for(i = 0; i<=n+m-2; i++)
	{
		for(j = 0; j<n; j++)
		{
			for(k = m-1; k>=0; k--)
			{
				if(j+(m-1-k) == i)
				{
					arr[j][k] = cnt++;
				}
			}
		}
	}
	
	
	for(i = 0; i<n; i++)
	{
		for(j = 0; j<m; j++)
		{
			printf("%d ",arr[i][j]);
		}
		printf("\n");
	}
	
	
	return 0;
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기