Java program to find the trace and transpose of a matrix

Write a Java program to find the trace and transpose of a matrix

import java.util.Scanner;

class Transpose {
    public static void main(String[] args) {

        // declare variables
        int[][] matrix;
        int[][] transpose;
        int sum = 0, r, c;

        // Scanner class object to read input values
        Scanner in = new Scanner(System.in);

        // read size of matrix from user
        System.out.print("Enter the Number of Rows : ");
        r = in.nextInt();

        System.out.print("nter the Number of Columns : ");
        c = in.nextInt();

        if (r != c) {
            System.out.println("Only square matrix allowed.");
        } else {
            // initialize matrix
            matrix = new int[r][c];
            transpose = new int[c][r];

            // read matrix elements from user
            System.out.print("Enter the Elements of Matrix : ");
            for (int i = 0; i < r; i++) {
                for (int j = 0; j < c; j++) {
                    matrix[i][j] = in.nextInt();
                }
            }

            // print entered matrix
            System.out.println("\nGiven Matrix");
            for (int i = 0; i < r; i++) {
                for (int j = 0; j < c; j++) {
                    System.out.print(matrix[i][j] + " ");
                }
                System.out.print("\n");
            }

            // find transpose and sum of dioganal elements
            for (int i = 0; i < r; i++) {
                for (int j = 0; j < c; j++) {
                    transpose[j][i] = matrix[i][j];
                    if (i == j) {
                        sum = sum + (matrix[i][j]);
                    }
                }
            }

            // display result
            System.out.println("\nThe Trace of the Given Matrix is = " + sum);
            System.out.println("\nTranspose Matrix");
            for (int i = 0; i < c; i++) {
                for (int j = 0; j < r; j++) {
                    System.out.print(transpose[i][j] + " ");
                }
                System.out.print("\n");
            }
        }
    }
}

Output

Enter the Number of Rows : 3
nter the Number of Columns : 3
Enter the Elements of Matrix : 1 2 3 4 5 6 7 8 9

Given Matrix
1 2 3
4 5 6
7 8 9

The Trace of the Given Matrix is = 15

Transpose Matrix
1 4 7
2 5 8
3 6 9
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments