Sometimes you may need to transpose a matrix. For example while working on linear algebra. The main logic is writing the elements in matrixβs row as a column.
I choose Java to do this however you can use any language. If even the syntax changes, the main logic always will be the same.
Main method
Scanner sc = new Scanner(System.in);
System.out.println("Row number:");
int row = sc.nextInt();
System.out.println("Column number:");
int col = sc.nextInt();
int[][] arr = new int[row][col];
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[0].length; j++){
System.out.println("Enter the arr["+i+"]["+j+"] element:");
arr[i][j] = sc.nextInt();
}
}
System.out.println();
print2dArr(arr);
System.out.println();
print2dArr(tranpose(arr));
sc.close();
Transpose Method
static int[][] tranpose(int[][] arr){
int[][] ret = new int[arr.length][arr[0].length];
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[0].length; j++){
ret[j][i] = arr[i][j];
}
}
return ret;
}
Print Method
static void print2dArr(int[][] arr){
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[0].length; j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
Output
Row number:
3
Column number:
3
Enter the arr[0][0] element: 1
Enter the arr[0][1] element: 6
Enter the arr[0][2] element: 2
Enter the arr[1][0] element: 7
Enter the arr[1][1] element: 8
Enter the arr[1][2] element: 3
Enter the arr[2][0] element: 2
Enter the arr[2][1] element: 3
Enter the arr[2][2] element: 1
1 6 2
7 8 3
2 3 1
1 7 2
6 8 3
2 3 1
Top comments (0)