跳到主要内容

Kotlin 程序:找出矩阵的转置

矩阵的转置是将行和列互换的过程。对于2x3矩阵,

矩阵
a11 a12 a13
a21 a22 a23

转置后的矩阵
a11 a21
a12 a22
a13 a23

示例:查找矩阵的转置程序

fun main(args: Array<String>) {
val row = 2
val column = 3
val matrix = arrayOf(intArrayOf(2, 3, 4), intArrayOf(5, 6, 4))

// 显示当前矩阵
display(matrix)

// 转置矩阵
val transpose = Array(column) { IntArray(row) }
for (i in 0..row - 1) {
for (j in 0..column - 1) {
transpose[j][i] = matrix[i][j]
}
}

// 显示转置后的矩阵
display(transpose)
}

fun display(matrix: Array) {
println("矩阵是:")
for (row in matrix) {
for (column in row) {
print("$column ")
}
println()
}
}

当您运行该程序时,输出将是:

矩阵是:
2 3 4
5 6 4
矩阵是:
2 5
3 6
4 4

在上面的程序中,display() 函数仅用于将矩阵的内容打印到屏幕上。

在这里,给定的矩阵是2x3的,即row = 2column = 3

对于转置后的矩阵,我们改变了转置的顺序为3x2,即row = 3column = 2。因此,我们有transpose = int[column][row]

矩阵的转置通过简单地交换列和行来计算:

transpose[j][i] = matrix[i][j]

以下是等效的Java代码:Java程序:查找矩阵的转置