Program to Rotate the Matrix Elements
Definition & Explanation
Example:
Input:
Output:
More Description
Heading
Desc
C
Method 1 :
#include <stdio.h>
void rotateMatrix(int matrix[3][3]) {
int temp;
// Transpose the matrix
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// Reverse each row
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 1.5 * 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[i][3 - j - 1];
matrix[i][3 - j - 1] = temp;
}
}
}
void printMatrix(int matrix[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
printf("Original Matrix:\n");
printMatrix(matrix);
rotateMatrix(matrix);
printf("\nRotated Matrix:\n");
printMatrix(matrix);
return 0;
}
Output :
C++
Method 1 :
#include <iostream>
using namespace std;
void rotateMatrix(int matrix[3][3]) {
int temp;
// Transpose the matrix
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// Reverse each row
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 1.5 * 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[i][3 - j - 1];
matrix[i][3 - j - 1] = temp;
}
}
}
void printMatrix(int matrix[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
int main() {
int matrix[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
cout << "Original Matrix:" << endl;
printMatrix(matrix);
rotateMatrix(matrix);
cout << "\nRotated Matrix:" << endl;
printMatrix(matrix);
return 0;
}
Output :
JAVA
Method 1 :
public class Main {
static void rotateMatrix(int[][] matrix) {
int temp;
// Transpose the matrix
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// Reverse each row
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 1.5 * 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[i][3 - j - 1];
matrix[i][3 - j - 1] = temp;
}
}
}
static void printMatrix(int[][] matrix) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
System.out.println("Original Matrix:");
printMatrix(matrix);
rotateMatrix(matrix);
System.out.println("\nRotated Matrix:");
printMatrix(matrix);
}
}
Output :
Python
Method 1 :
def rotate_matrix(matrix):
if not matrix:
return []
rows = len(matrix)
cols = len(matrix[0])
rotated_matrix = [[0] * rows for _ in range(cols)]
for i in range(rows):
for j in range(cols):
rotated_matrix[j][rows - i - 1] = matrix[i][j]
return rotated_matrix
def print_matrix(matrix):
for row in matrix:
print(" ".join(map(str, row)))
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print("Original Matrix:")
print_matrix(matrix)
rotated_matrix = rotate_matrix(matrix)
print("\nRotated Matrix:")
print_matrix(rotated_matrix)
Output :
Rotated Matrix:
7 4 1
8 5 2
9 6 3