Go语言程序查找矩阵的转置
在这篇文章中,我们将编写一个 Go 语言程序来查找矩阵的转置。矩阵是由按行和列排列的数字集合,它是一个二维数组。
查找矩阵的转置
以下代码说明了查找矩阵转置的示例。
算法
步骤 1 − 导入 fmt 包。
步骤 2 − 调用 main() 函数。
步骤 3 − 初始化一个名为 matrixA 和 matrix 的二维数组,并在其中存储元素。
步骤 4 − 在屏幕上打印矩阵。
步骤 5 − 要查找这些矩阵的转置,请使用 for 循环遍历矩阵,并通过将矩阵的每一行更改为列来从旧矩阵创建新矩阵。
步骤 6 − 遍历完矩阵后。在屏幕上打印新形成的矩阵。
步骤 7 − 对第二个矩阵重复此过程,并在屏幕上打印它。
示例
package main import ( "fmt" ) func main() { var i, j int var transposeMat [3][3]int matrixA := [3][3]int{ {0, 1, 2}, {4, 5, 6}, {8, 9, 10}, } fmt.Println("The first matrix is:") for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { fmt.Print(matrixA[i][j], "\t") } fmt.Println() } fmt.Println() for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { transposeMat[j][i] = matrixA[i][j] } } fmt.Println("The transpose of matrix is:") for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { fmt.Print(transposeMat[i][j], "\t") } fmt.Println() } }
输出
The first matrix is: 0 1 2 4 5 6 8 9 10 The transpose of matrix is: 0 4 8 1 5 9 2 6 10
使用 Range 函数查找矩阵的转置
现在让我们看看在 Go 编程语言中查找矩阵转置的另一种方法。
算法
步骤 1 − 导入 fmt 包。
步骤 2 − 调用 main() 函数。
步骤 3 − 初始化一个名为 matrixA 的二维数组,并在其中存储元素。使用 fmt.Println() 函数在屏幕上打印此矩阵。
步骤 4 − 要查找此矩阵的转置,请使用 range 函数遍历矩阵,并通过将矩阵的每一行更改为列来从旧矩阵创建新矩阵。
步骤 5 − 遍历完矩阵后。在屏幕上打印新形成的矩阵。
示例
package main import ( "fmt" ) func main() { var i, j int var transposeMat [3][3]int matrixA := [3][3]int{ {0, 1, 2}, {4, 5, 6}, {8, 9, 10}, } fmt.Println("The first matrix is:") for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { fmt.Print(matrixA[i][j], "\t") } fmt.Println() } fmt.Println() for i, rows := range matrixA { for j := range rows { transposeMat[j][i] = matrixA[i][j] } } fmt.Println("The transpose of matrix, matrixA is:") for i, rows := range matrixA { for j := range rows { fmt.Print(transposeMat[i][j], "\t") } fmt.Println() } fmt.Println() }
输出
The first matrix is: 0 1 2 4 5 6 8 9 10 The transpose of matrix, matrixA is: 0 4 8 1 5 9 2 6 10
结论
我们已成功编译并执行了一个 Go 语言程序来查找矩阵的转置,并附带示例。
广告