Transpose of a matrix in java
Written by
Java Program to display transpose of a matrix
In the following question, we are supposed to enter a 2D array or rather Matrix. The 2D-array will be a dynamic array of size (R*C). After entering into the array, we’ll have to print the transpose matrix and along with the original matrix.
The basic idea to be kept in mind is:
Transpose of a Matrix is defined as a Matrix where the original Row elements becomes the column elements and Column elements becomes the Row Elements.
The standard algorithm will be:
- Enter the size of the 2D-array.
- Create the matrix of the input size.
- Using a loop construct, enter integer inputs in the matrix.
- Declare another matrix that will store the Transpose of the original matrix. The size will be same as original matrix.
- Using loop construct, swap the elements of original into transpose matrix such that the row becomes column index and vice versa.
- After the loop terminates, print the result accordingly.
Java Code:
/* Program to enter a 2D matrix and print the transpose of the matrix */
import java.util.*; class Transpose { public static void main() { Scanner inp = new Scanner(System.in);
System.out.print("\n Enter Row Size: "); //Entering Dimensions int r = inp.nextInt(); System.out.print("\n Enter Column Size: "); int c = inp.nextInt();
int i, j; int arr[][] = new int[r][c]; //Creating N-size Array int t[][] = new int[r][c]; for (i = 0; i < r; i++) //Entering N numbers in array { for (j = 0; j < c; j++) { System.out.print("\n Enter: "); arr[i][j] = inp.nextInt(); } }
for (i = 0; i < r; i++) //Transposing { for (j = 0; j < c; j++) { t[j][i] = arr[i][j]; } }
System.out.println("\n Original Matrix: "); for (i = 0; i < r; i++) { for (j = 0; j < c; j++) { System.out.print(arr[i][j] + " "); //Printing Original matrix } System.out.println(); }
System.out.println("\n Transpose Matrix: "); for (i = 0; i < r; i++) { for (j = 0; j < c; j++) { System.out.print(t[i][j] + " "); //Printing Transpose matrix by reversing Original } System.out.println(); }
} }
Output:
Enter Row Size: 3
Enter Column Size: 3
Enter: 1
Enter: 2
Enter: 3
Enter: 4
Enter: 5
Enter: 6
Enter: 7
Enter: 8
Enter: 9
Original Matrix: 1 2 3 4 5 6 7 8 9
Transpose Matrix: 1 4 7 2 5 8 3 6 9