[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

6 3 2

5 4 1

 

[코드]

#include<stdio.h>

int main() {
	int a[100][100];
	int n, m, i, j, cnt;

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

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

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

	return 0;
}

 

[문제 설명] 

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

6 5 4

1 2 3

 

[코드]

#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++) {
		if(n % 2 == 0)
			if (i % 2 == 0)
				cnt = (n - i) * m;
			else
				cnt = (n-i) * m - (m-1);
		else
			if (i % 2 == 1)
				cnt = (n - i) * m;
			else
				cnt = (n - i) * m - (m - 1);
		for (j = 0; j < m; j++) {
			a[i][j] = cnt;
			if(n % 2 == 0)
				if (i % 2 == 0)
					cnt--;
				else
					cnt++;
			else
				if (i % 2 == 0)
					cnt++;
				else
					cnt--;
		}
	}

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

	return 0;
}

 

[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

4 5 6

3 2 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++) {
		if(n % 2 == 1)
			if (i % 2 == 0)
				cnt = (n - i) * m;
			else
				cnt = (n-i) * m - (m-1);
		else
			if (i % 2 == 1)
				cnt = (n - i) * m;
			else
				cnt = (n - i) * m - (m - 1);
		for (j = 0; j < m; j++) {
			a[i][j] = cnt;
			if(n % 2 == 1)
				if (i % 2 == 0)
					cnt--;
				else
					cnt++;
			else
				if (i % 2 == 0)
					cnt++;
				else
					cnt--;
		}
	}

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

	return 0;
}

 

+ Recent posts