# Kotlin 程序：查找矩阵的转置

> 原文： [https://www.programiz.com/kotlin-programming/examples/transpose-matrix](https://www.programiz.com/kotlin-programming/examples/transpose-matrix)

#### 在此程序中，您将学习在 Kotlin 中查找并打印给定矩阵的转置。

矩阵的转置是将行交换为列的过程。 对于 2x3 矩阵，

```kt
Matrix
a11    a12    a13
a21    a22    a23

Transposed Matrix
a11    a21
a12    a22
a13    a23
```

## 示例：查找矩阵转置的程序

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

    // Display current matrix
    display(matrix)

    // Transpose the 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 transposed matrix
    display(transpose)
}

fun display(matrix: Array<intarray>) {
    println("The matrix is: ")
    for (row in matrix) {
        for (column in row) {
            print("$column    ")
        }
        println()
    }
}</intarray>
```

运行该程序时，输出为：

```kt
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]`

矩阵的转置是通过简单地将列交换为行来计算的：

```kt
transpose[j][i] = matrix[i][j]
```

以下是等效的 Java 代码：[查找矩阵转置的 Java 程序](/java-programming/examples/transpose-matrix "Java Program to Find transpose of a matrix")