Open In App

Java Program to Interchange Diagonals of Matrix

Last Updated : 24 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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]. 
 


 

Java




// Java program to interchange
// the diagonals of matrix
import java.io.*;
 
class GFG
{
    public static int N = 3;
     
    // Function to interchange diagonals
    static void interchangeDiagonals(int array[][])
    {
        // swap elements of diagonal
        for (int i = 0; i < N; ++i)
            if (i != N / 2)
            {
                int temp = array[i][i];
                array[i][i] = array[i][N - i - 1];
                array[i][N - i - 1] = temp;
            }
 
        for (int i = 0; i < N; ++i)
        {
            for (int j = 0; j < N; ++j)
                System.out.print(array[i][j]+" ");
            System.out.println();
        }
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        int array[][] = { {4, 5, 6},
                        {1, 2, 3},
                        {7, 8, 9}
                        };
        interchangeDiagonals(array);
    }
}
 
// This code is contributed by Pramod Kumar


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 a 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!



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads