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 语言程序来查找矩阵的转置,并附带示例。

更新于: 2023年1月2日

421 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告