Java Program to Find the Transpose of a Matrix

This article covers a program in Java that find and prints the transpose of a given matrix. The program is created with and without using second matrix.

The transpose of a matrix can be calculated by interchanging the row elements with column elements or column elements with row elements. For example, transpose of following matrix:

1   2
3   4

will be:

1   3
2   4

Find Transpose of a Matrix in Java

The question is, write a Java program to find the transpose of a matrix. Elements of the matrix must be received by user at run-time of the program. The program given below is its answer:

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      int i, j;
      int[][] matOrig = new int[3][3];
      int[][] matTran = new int[3][3];
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter 9 Elements of the Matrix: ");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
         {
            matOrig[i][j] = scan.nextInt();
         }
      }
      
      System.out.println("\n----Original Matrix----");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
         {
            System.out.print(matOrig[i][j]+ "\t");
         }
         System.out.print("\n");
      }
      
      // copying the transpose of matOrig to matTran
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
         {
            matTran[j][i] = matOrig[i][j];
         }
      }
      
      System.out.println("\n----Transpose of Matrix----");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
         {
            System.out.print(matTran[i][j]+ "\t");
         }
         System.out.print("\n");
      }
   }
}

The snapshot given below shows the sample run of above program with user input 1, 2, 3, 4, 5, 6, 7, 8, 9 as nine elements for the matrix:

java find transpose of matrix

Transpose of a Matrix in Java without using Second Matrix

This program is similar to previous, but created in a way to transpose the matrix without using second matrix:

import java.util.Scanner;

public class CodesCracker
{
   public static void main(String[] args)
   {
      int i, j, x;
      int[][] matrix = new int[3][3];
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter 9 Elements of the Matrix: ");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
            matrix[i][j] = scan.nextInt();
      }
      
      System.out.println("\n----Original Matrix----");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
            System.out.print(matrix[i][j]+ "\t");
         System.out.println();
      }
      
      // finding the transpose of given matrix
      for(i=0; i<3; i++)
      {
         for(j=0; j<i; j++)
         {
            x = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = x;
         }
      }
      
      System.out.println("\n----Transpose of Matrix----");
      for(i=0; i<3; i++)
      {
         for(j=0; j<3; j++)
            System.out.print(matrix[i][j]+ "\t");
         System.out.println();
      }
   }
}

Same Program in Other Languages

Java Online Test


« Previous Program Next Program »


Liked this post? Share it!