原文: https://www.programiz.com/java-programming/examples/transpose-matrix
在此程序中,您将学习查找并打印 Java 中给定矩阵的转置。
矩阵的转置是将行交换为列的过程。 对于2x3
矩阵,
Matrix
a11 a12 a13
a21 a22 a23
Transposed Matrix
a11 a21
a12 a22
a13 a23
示例:查找矩阵转置的程序
public class Transpose {
public static void main(String[] args) {
int row = 2, column = 3;
int[][] matrix = { {2, 3, 4}, {5, 6, 4} };
// Display current matrix
display(matrix);
// Transpose the matrix
int[][] transpose = new int[column][row];
for(int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
transpose[j][i] = matrix[i][j];
}
}
// Display transposed matrix
display(transpose);
}
public static void display(int[][] matrix) {
System.out.println("The matrix is: ");
for(int[] row : matrix) {
for (int column : row) {
System.out.print(column + " ");
}
System.out.println();
}
}
}
运行该程序时,输出为:
The matrix is:
2 3 4
5 6 4
The matrix is:
2 5
3 6
4 4
在上述程序中,display()
函数仅用于将矩阵的内容打印到屏幕上。
在此,给定矩阵的格式为2x3
,即row = 2
和column = 3
。
对于转置矩阵,我们将转置顺序更改为3x2
,即row = 3
和column = 2
。 因此,我们有transpose = int[column][row]
矩阵的转置是通过简单地将列交换为行来计算的:
transpose[j][i] = matrix[i][j];