查找矩阵的转置的Java程序
1 说明
在此程序中,我们需要找到给定矩阵的转置并打印结果矩阵。
什么是矩阵转置
可以通过将行与列互换来找到矩阵的转置,也就是说,原始矩阵的行将成为新矩阵的列。同样,原始矩阵中的列将成为新矩阵中的行。该操作可以表示如下:
如果原始矩阵的尺寸为2×3,则新的转置矩阵的尺寸将为3×2。
2 算法思路
- 步骤1:开始
- 第2步:定义行,列
- 步骤3:初始化矩阵a [] [] = {{1,2,3},{4,5,6},{7,8,9}}
- 步骤4:行= a.length
- 步骤5: cols = a [0] .length
- 步骤6: t [] [] = [cols] [行]
- 步骤7:将步骤8重复到步骤9直到i <cols
// for(i = 0; i <cols; i ++) - 步骤8:重复步骤9直到j <rows
// for(j = 0; j <rows; j ++) - 步骤9: t [i] [j] = a [j] [i]
- 步骤10:打印“给定矩阵的转置”
- 步骤11:将步骤12重复到步骤14,直到i <cols
// for(i = 0; i <cols; i ++) - 步骤12:重复步骤13直到j <rows
// for(j = 0; j <rows; j ++) - 步骤13:列印t [i] [j]
- 步骤14:列印新行
- 步骤15:结束
3 程序实现
/**
* 一点教程网: http://www.yiidian.com
*/
public class Transpose
{
public static void main(String[] args) {
int rows, cols;
//Initialize matrix a
int a[][] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
//Calculates number of rows and columns present in given matrix
rows = a.length;
cols = a[0].length;
//Declare array t with reverse dimensions
int t[][] = new int[cols][rows];
//Calculates transpose of given matrix
for(int i = 0; i < cols; i++){
for(int j = 0; j < rows; j++){
//Converts the row of original matrix into column of transposed matrix
t[i][j] = a[j][i];
}
}
System.out.println("Transpose of given matrix: ");
for(int i = 0; i < cols; i++){
for(int j = 0; j < rows; j++){
System.out.print(t[i][j] + " ");
}
System.out.println();
}
}
}
以上代码输出结果为:
Transpose of given matrix
1 4 7
2 5 8
3 6 9
热门文章
优秀文章