[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

2 3

[출력 예시]

5 4 1

6 3 2

 

[코드]

#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 == 1)
			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 == 1)
					cnt++;
				else
					cnt--;
			else
				if (j % 2 == 1)
					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인 경우 다음과 같이 출력한다.
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;
}

 

[문제 설명] 

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

4

[출력 예시]

4 5 12 13

3 6 11 14

2 7 10 15

1 8 9 16

 

[코드]

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

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

	scanf("%d", &n);

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

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

	return 0;
}

 

[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

4

[출력 예시]

1 8 9 16

2 7 10 15

3 6 11 14

4 5 12 13

 

[코드]

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

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

	scanf("%d", &n);

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

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

	return 0;
}

 

[문제 설명]

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

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

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

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

 

[입력]

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

[출력]

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

 

[입력 예시]

4

[출력 예시]

4 3 2 1

5 6 7 8

12 11 10 9

13 14 15 16

 

[코드]

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

	return 0;
}

 

[문제 설명]

다음과 같은 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