C_C++

(C언어) 2차원 배열을 시계방향으로 90도 회전시키기

고니자니 2023. 4. 22. 08:41
반응형

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;
}

2차원 배열: 시계방향으로 90도 회전

 

반응형