Transpose of Matrix Java
Question – Write a Program to find the transpose of a square matrix of size N*N. Transpose of a matrix is obtained by changing rows to columns and columns to rows.
Logic – Interchange transpose matrix, rows and columns
- Iterate through each row and column of the matrix.
- Swap the element of ith row, jth column with the element at jth row, ith column.
Let’s solve the problem with the below example
Example N = 4 mat[][] = {{1, 1, 1, 1}, {2, 2, 2, 2} {3, 3, 3, 3} {4, 4, 4, 4}} Output: {{1, 2, 3, 4}, {1, 2, 3, 4} {1, 2, 3, 4} {1, 2, 3, 4}}
Method to transpose a matrix
public static void transpose(int n,int a[][]) { int track=0; while(track<n){ for(int i=track+1;i<n;i++){ int temp=a[track][i]; a[track][i]=a[i][track]; a[i][track]=temp; } track++; } }
Transpose of a matrix with the primary method
public class TransposeMatrix { public static void main(String[] args) { int mat[][] = {{1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int n=4; //calling transpose method transpose(n,mat); //printing elements of transpose row by row for(int i=0;i<n;i++){ System.out.println("Row->"+i); for(int j=0;j<n;j++){ System.out.print(mat[i][j]+" "); } System.out.println(); } } public static void transpose(int n,int a[][]) { int track=0; while(track<n){ for(int i=track+1;i<n;i++){ int temp=a[track][i]; a[track][i]=a[i][track]; a[i][track]=temp; } track++; } } }
Main Method Output
Row->0
1 2 3 4
Row->1
1 2 3 4
Row->2
1 2 3 4
Row->3
1 2 3 4