반응형
2차원 배열을 시계방으로 90도 회전하는 C언어 코드입니다.
#include <stdio.h>
#define ROW 3
#define COL 3
void rotate(int arr[][COL]) {
int temp[ROW][COL];
int i, j;
// 원본 복사
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
temp[i][j] = arr[i][j];
}
}
// 시계방향으로 90도 회전
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
arr[i][j] = temp[ROW - j - 1][i];
}
}
}
int main() {
int arr[ROW][COL] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
int i, j;
printf("원본 배열:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
rotate(arr);
printf("시계방향으로 90도 회전한 배열:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
반응형
'C_C++' 카테고리의 다른 글
(C언어) 피타고라스 정리: 직각삼각형의 세 변의 길이 구하기 (0) | 2023.04.26 |
---|---|
(C언어) 이차방정식의 해: 실근 중근 허근 (0) | 2023.04.24 |
(C언어) 2차원 배열, 달팽이 모양의 수열 (0) | 2023.04.15 |
(C언어) 연결리스트: 맨 앞에 노드 추가하기 Linked List (0) | 2023.04.12 |
(C언어) 연결리스트: 맨 뒤에 노드 추가하기 Linked List (0) | 2023.04.11 |