#include <iostream>
const int ROWS = 3; // Original matrix rows
const int COLS = 4; // Original matrix columns
void rotate90Clockwise(int matrix[ROWS][COLS], int rotated[COLS][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
rotated[j][ROWS - 1 - i] = matrix[i][j]; // Mapping to rotated position
}
}
}
// Function to print a matrix
void printMatrix(int rows, int cols, int matrix[][3]) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
int main() {
int matrix[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int rotated[COLS][ROWS]; // New rotated matrix
rotate90Clockwise(matrix, rotated);
std::cout << "Rotated Matrix:\n";
printMatrix(COLS, ROWS, rotated);
}
/*
run:
Rotated Matrix:
9 5 1
10 6 2
11 7 3
12 8 4
*/