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++;
}
}
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++;
}
}
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++;
}
}
}
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++;
}
}
}
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