How to mirror a matrix across the main diagonal in Java

1 Answer

0 votes
public class MirrorMatrix {
    static final int SIZE = 3;

    public static void printMatrix(int[][] matrix) {
        for (int i = 0; i < SIZE; i++) {
            for (int j = 0; j < SIZE; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
    }

    public static void mirrorMatrix(int[][] matrix) {
        for (int i = 0; i < SIZE; i++) {
            for (int j = i + 1; j < SIZE; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
    }

    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        System.out.println("Original Matrix:");
        printMatrix(matrix);

        mirrorMatrix(matrix);

        System.out.println("Mirrored Matrix:");
        printMatrix(matrix);
    }
}



/*
run:

Original Matrix:
1 2 3 
4 5 6 
7 8 9 
Mirrored Matrix:
1 4 7 
2 5 8 
3 6 9 

*/

 



answered Aug 28, 2025 by avibootz
...