Tuesday, September 24, 2024
Google search engine
HomeData Modelling & AIPython Program to Interchange Diagonals of Matrix

Python Program to Interchange Diagonals of Matrix

Given a square matrix of order n*n, you have to interchange the elements of both diagonals. 
Examples : 
 

Input : matrix[][] = {1, 2, 3,
                      4, 5, 6,
                      7, 8, 9} 
Output : matrix[][] = {3, 2, 1,
                       4, 5, 6,
                       9, 8, 7} 

Input : matrix[][] = {4,  2,  3,  1,
                      5,  7,  6,  8,
                      9, 11, 10, 12,
                     16, 14, 15, 13} 
Output : matrix[][] = {1,  2,  3,  4,
                       5,  6,  7,  8,
                       9, 10, 11, 12,
                      11, 14, 15, 16}

 

Explanation : Idea behind interchanging diagonals of a square matrix is simple. Iterate from 0 to n-1 and for each iteration you have to swap a[i][i] and a[i][n-i-1]. 
 

Python3




# Python program to interchange
# the diagonals of matrix
N = 3;
 
# Function to interchange diagonals
def interchangeDiagonals(array):
 
    # swap elements of diagonal
    for i in range(N):
        if (i != N / 2):
            temp = array[i][i];
            array[i][i] = array[i][N - i - 1];
            array[i][N - i - 1] = temp;
         
    for i in range(N):
        for j in range(N):
            print(array[i][j], end = " ");
        print();
 
# Driver Code
if __name__ == '__main__':
    array = [ 4, 5, 6 ],[ 1, 2, 3 ],[ 7, 8, 9 ];
    interchangeDiagonals(array);
     
# This code is contributed by Rajput-Ji


Output: 
 

 6 5 4
 1 2 3
 9 8 7

Time Complexity: O(N) where N is no of rows or columns; as we are using single loop for interchanging diagonals of a given matrix.

Auxiliary Space: O(1), as we are not using any extra space.

Please refer complete article on Program to Interchange Diagonals of Matrix for more details!

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments