Matrix Rotation Clockwise by shifting one element at a time in Python 3
Matrix Rotation Clockwise is the rotation of a given matrix in the clockwise direction. Here, in this method, the elements of the matrix are shifted by one place in order to achieve the rotated matrix.
4 8 7 Let Matrix, A = 6 7 5 3 2 6
After Rotating the Matrix,
6 4 8 A = 3 7 7 2 6 5
The image below shows the number of cycles it takes to rotate the matrix in the given method.

Read more here:
Rotation matrix
Let’s take a look at the code snippet:
PROGRAM:
def rotateMatrix(mat): #clockwise rotation of matrix where each element is shifted by one place
if not len(mat):
return
top = 0
bottom = len(mat)-1
left = 0
right = len(mat[0])-1
while(left < right and top < bottom):
prev = mat[top+1][left]
for i in range(left, right+1):
curr = mat[top][i]
mat[top][i] = prev
prev = curr
top += 1
for i in range(top, bottom+1):
curr = mat[i][right]
mat[i][right] = prev
prev = curr
right -= 1
for i in range(right, left-1, -1):
curr = mat[bottom][i]
mat[bottom][i] = prev
prev = curr
bottom -= 1
for i in range(bottom, top-1, -1):
curr = mat[i][left]
mat[i][left] = prev
prev = curr
left += 1
return mat
n=int(input("Enter Number of Rows of Square Matrix:"))
print("Enter Matrix Elements:")
matrix=[]
for i in range(n):
l=[]
for j in range(n):
x=int(input())
l.append(x)
matrix.append(l)
print("The entered Matrix is:")
for i in range(n):
for j in range(n):
print(matrix[i][j],end=" ")
print()
print("The Matrix after rotation:")
matrix=rotateMatrix(matrix)
for i in range(n):
for j in range(n):
print(matrix[i][j],end=" ")
print()OUTPUT 1:
Enter Number of Rows of Square Matrix:3 Enter Matrix Elements: 4 5 7 8 9 6 4 3 2 The entered Matrix is: 4 5 7 8 9 6 4 3 2 The Matrix after rotation: 8 4 5 4 9 7 3 2 6
OUTPUT 2:
Enter Number of Rows of Square Matrix:4 Enter Matrix Elements: 4 5 8 7 6 2 1 5 6 4 5 3 2 1 8 9 The entered Matrix is: 4 5 8 7 6 2 1 5 6 4 5 3 2 1 8 9 The Matrix after rotation: 6 4 5 8 6 4 2 7 2 5 1 5 1 8 9 3
Also Read:
Leave a Reply