Golang 计算矩阵元素的和

Golang 计算矩阵元素的和

什么是矩阵

矩阵是由按行和列排列的数字组成,是一个二维数组。在这里,我们将使用三个示例来找出元素的和,并比较矩阵中的每个元素是否相同,使用Golang程序。

步骤

  • 第1步 - 导入 fmt 包。

  • 第2步 - 程序需要开始 main() 函数。

  • 第3步 - 创建一个名为matrixA的矩阵。

  • 第4步 - 使用 fmt.Println() 函数在屏幕上打印矩阵。

  • 第5步 - 初始化一个名为sum的新变量,类型为 int,用于保存结果的和。

  • 第6步 - 为了求元素的和,使用 for 循环遍历矩阵。

  • 第7步 - 第一个 for 循环用于获取矩阵的行,而第二个 for 循环用于获取矩阵的列。

  • 第8步 - 循环结束后,通过将值添加到sum变量来更新矩阵元素的和。

  • 第9步 - 在屏幕上打印矩阵的和。

示例1

我们将使用for循环遍历矩阵,找出其元素的和,并将其打印在屏幕上。

package main
import "fmt"
func main() {
   matrix := [3][3]int{
      {0, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var sum int = 0
   for i := 0; i < len(matrix); i++ {
      for j := 0; j < len(matrix[i]); j++ {
         sum += matrix[i][j]
      }
   }
   fmt.Println("Sum of matrix elements:", sum)
}

输出

The given matrix is:
0   1   2   
4   5   6   
8   9   10  

Sum of matrix elements: 45

示例2

在这个示例中,我们将使用Go编程中的range函数找到矩阵元素的和。

package main
import "fmt"
func main() {
   matrix := [3][3]int{
      {20, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var sum int = 0
   for _, row := range matrix {
      for _, element := range row {
         sum += element
      }
   }
   fmt.Println("Sum of matrix elements:", sum)
}

输出

The given matrix is:
20  1   2   
4   5   6   
8   9   10  

Sum of matrix elements: 65

示例3

在这个示例中,我们将使用递归方法来使用go编程找到矩阵元素的和

package main
import "fmt"
// creating a funciton to find sum through recursion
func sumMatrix(matrix [3][3]int, row int, col int) int {
   if row == len(matrix) {
      return 0
   }
   if col == len(matrix[row]) {
      return sumMatrix(matrix, row+1, 0)
   }
   return matrix[row][col] + sumMatrix(matrix, row, col+1)
}
func main() {
   matrix := [3][3]int{
      {20, 1, 2},
      {4, 50, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   result := sumMatrix(matrix, 0, 0)
   fmt.Println("Sum of matrix elements:", result)
}

输出

The given matrix is:
20  1   2   
4   50  6   
8   9   10  

Sum of matrix elements: 110

结论

我们已成功编译和执行了一个Go语言程序,用于对矩阵进行求和,并提供了示例。在前两个方法中,我们分别使用了for循环和range函数来迭代矩阵,而在最后一个示例中,我们使用了递归方法来计算求和。值得注意的是,第三种方法在功能上更高效,执行时间更短。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程