일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- shapeArea
- 2015 봄학기 알고리즘
- Numpy
- centuryFromYear
- Daily Commit
- codesignal
- 파이썬머신러닝완벽가이드
- collections.deque
- baekjun
- All Longest Strings
- almostIncreasingSequence
- 2750
- cpp
- C++
- matrixElementsSum
- Sequential Search
- 피보나치 수
- 파이썬 포렌식
- flask
- 수 정렬하기
- data_structure
- 10953
- codesingal
- 백준
- markdown
- Counting cells in a blob
- adjacentElementsProduct
- Python
- recursion
- til
Archives
- Today
- Total
Introfor
달팽이사각형 본문
정사각형의 크기를 입력 받은 후 시계방향으로 돌면서 다음과 같은 형태로 출력하는 프로그램을 작성하시오.
< 처리조건 >
(1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입시킨다.
(2) 오른쪽으로 채워 나가다가 끝이면 다시 아래 → 왼쪽 → 위 →오른쪽의 순으로 모두 채워질때까지 반복한다.
<소스코드>
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 | #include <stdio.h> int main() { int n = 0; // 입력 받는 수, 반복조건 int m = 1; // 배열에 넣어줄 값 int tmp = 0; // 출력 반복문 조건 int x = 0, y = -1; // 배열 위치 int arr[100][100] = { 0 }; scanf("%d", &n); tmp = n; while (n > 0) { for (int i = 0; i < n; i++) { arr[x][++y] = m++; } n--; for (int i = 0; i < n; i++) { arr[++x][y] = m++; } n--; for (int i = 0; i < n + 1; i++) { arr[x][--y] = m++; } for (int i = 0; i < n; i++) { arr[--x][y] = m++; } } for (int i = 0; i < tmp; i++) { for (int j = 0; j < tmp; j++) { printf("%d ", arr[i][j]); } printf("\n"); } return 0; } | cs |
Comments