[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

4

[출력 예시]

1 2 3 4

8 7 6 5

9 10 11 12

16 15 14 13

 

[코드]

#include<stdio.h>
int a[100][100];

int main() {
	
	int n, i, j, cnt;

	scanf("%d", &n);

	for (i = 0; i < n; i++) {
		if (i % 2 == 1)
			cnt = n * (i + 1);
		else
			cnt = i * n + 1;
		for (j = 0; j < n; j++) {
			a[i][j] = cnt;
			if (i % 2 == 1)
				cnt--;
			else
				cnt++;
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}

	return 0;
}

 

[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

5 3 1

6 4 2

 

[코드]

#include<stdio.h>
int a[100][100];

int main() {
	
	int n, m, i, j, cnt;

	scanf("%d %d", &n, &m);

	for (i = 0; i < n; i++) {
		cnt = m * n - n + i+1;
		for (j = 0; j < m; j++) {
			a[i][j] = cnt - n * j;
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}

	return 0;
}

 

[문제설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

6 4 2

5 3 1

 

[코드]

#include<stdio.h>
int a[100][100];

int main() {
	
	int n, m, i, j, cnt;

	scanf("%d %d", &n, &m);

	for (i = 0; i < n; i++) {
		cnt = m * n -i;
		for (j = 0; j < m; j++) {
			a[i][j] = cnt - n * j;
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}

	return 0;
}

 

+ Recent posts