Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

고딩개발자

2차원 배열 달팽이 본문

c언어

2차원 배열 달팽이

행운의다섯 2017. 3. 27. 14:17
#include<stdio.h>
int main() {
int arr[50][50]={ 0, }; //입력받는 숫자는 50이하임으로 배열을 50까지 설정해주고 초기화 한다.
int n = 0; //입력받는 숫자를 선언한다.
scanf("%d", &n); //숫자를 입력받는다.
int x=-1, y=0; //x=양옆으로 가는 변수, y=위아래로 가는 변수
int print=n; //커서가 움직이는 횟수를 결정함
int way = 1; //방향을 결정함
int num=1; //실제로 화면에 출력되는 숫자
for (int i = 0; i < 2 * n - 1; i++) {
for (int j = 0; j < print; j++) {
if (way == 1) {
x++;
} //방향=오른쪽
else if (way == 2) {
y++;
} //방향=아래쪽
else if (way == 3) {
x--;
} //방향=왼쪽
else {
y--;
} //방향=위쪽
arr[y][x] = num;
num++; //실제로 화면에 출력되는 숫자임으로 1씩 늘어난다.
}
if (way < 4) {
way++;
}
else {
way = 1;
} //방향은 4가지밖에 없으므로 조건을 걸어준다.
if (way % 2 == 0) {
print --;
} //출력되는 숫자의 개수가 점점 작아진다.
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
} //실제로 숫자를 출력한다.
return 0;
}


'c언어' 카테고리의 다른 글

정올반 1차시  (0) 2017.07.18
c언어 문자열 비교, 찾기  (0) 2017.07.14
무한의 땅굴(게임프로젝트) 소스코드  (3) 2017.07.02
c언어 게임 프로젝트  (2) 2017.05.27
코드업 문제  (2) 2017.03.24