tetris rotate shape

#include <stdio.h>

#define ROWS 4
#define COLS 4

void printShape(int shape[ROWS][COLS]) {
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            printf("%d ", shape[i][j]);
        }
        printf("\n");
    }
}

void rotateShape(int shape[ROWS][COLS]) {
    int temp[ROWS][COLS];

    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            temp[i][j] = shape[i][j];
        }
    }

    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            shape[i][j] = temp[ROWS - 1 - j][i];
        }
    }
}

int main() {
    int shape[ROWS][COLS] = {
        {1, 1, 1, 1},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0}
    };

    printf("Original Shape:\n");
    printShape(shape);

    rotateShape(shape);

    printf("\nShape After Rotation:\n");
    printShape(shape);

    return 0;
}