[C언어 코드업 문제풀이] CodeUp 1512 : 숫자 등고선
ET의 공부/C언어 연습문제[ 코드업 ]2020. 5. 10. 17:46
코드업 1512번 숫자 등고선 문제 풀이 해답입니다.
1. 문제 설명
어느날 등산을하다가 길을 찾기 위해 지도를 보다가 땅의 높낮이를 표시되어 있는 등고선을 보면서 문득 2차원 배열로 숫자등고선을 만드는 문제가 생각났다.
여러분들은 배열크기 N과 시작위치 X , Y를 입력받아 숫자등고선을 만드시오.
예를 들어 배열크기가 5이고 시작위치가 3 , 4 라면 3,4로 시작하는 다음과같은 숫자등고선을 만들수 있다.
6 5 4 3 4
5 4 3 2 3
4 3 2 1 2
5 4 3 2 3
6 5 4 3 4
2. 입력
배열의 크기 N의 범위는 1<=N<=100 이며 좌표값 X,Y는 배열크기보다 작다.
3. 출력
숫자등고선을 출력한다. 숫자와 숫자 사이는 공백을 출력한다.
4. 입력 예시
5
3 4
5. 출력 예시
6 5 4 3 4
5 4 3 2 3
4 3 2 1 2
5 4 3 2 3
6 5 4 3 4
6. 문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include "stdio.h"
int main(void)
{
int Arr[101][101] = {};
int n,x,y;
scanf("%d\n%d %d",&n,&x,&y);
Arr[x][y] = 1;
//int i,j;
int value = Arr[x][y];
for(int i = x-1; i >= 1; i-- ){
Arr[i][y] = ++value;
}
value = Arr[x][y];
for(int i = x+1; i <= n; i++ ){
Arr[i][y] = ++value;
}
for(int i = 1; i <= n; i++){
value = Arr[i][y];
for(int j = y-1; j >= 1; j-- ){
Arr[i][j] = ++value;
}
value = Arr[i][y];
for(int j = y+1; j <= n; j++ ){
Arr[i][j] = ++value;
}
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
printf("%d ",Arr[i][j]);
}
printf("\n");
}
return 0;
}
|
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1515 : 생명 게임 1 (0) | 2020.05.11 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1513 : 지그재그 배열 3 (0) | 2020.05.11 |
[C언어 코드업 문제풀이] CodeUp 1511 : 테두리의 합 (0) | 2020.05.10 |
[C언어 코드업 문제풀이] CodeUp 1510 : 홀수 마방진 (0) | 2020.05.10 |
[C언어 코드업 문제풀이] CodeUp 1509 : 진격 후 결과 (0) | 2020.05.10 |
댓글()