Golang 计算矩阵对角线和

Golang 计算矩阵对角线和

在本教程中,我们将编写一个使用Go语言的程序来计算矩阵的对角线元素之和。

计算矩阵对角线和

在这个示例中,我们将使用外部函数来计算3 x 3矩阵的左对角线元素之和。

步骤

步骤1 −导入fmt包。

步骤2 −创建一个函数来计算给定矩阵的和。

步骤3 −在这个函数中,初始化一个名为sum的整数变量,并使用for循环遍历矩阵数组。

步骤4 −在每次迭代中,通过更新sum变量与矩阵的对角线元素(如00,11,22)来更新sum变量,并返回sum变量。

步骤5 −启动main函数。在这里,我们首先需要初始化一个矩阵,并使用for循环在屏幕上打印它。

步骤6 −现在,通过传递矩阵作为参数来调用matrixSum()。

步骤7 −将结果存储在结果变量中,并使用fmt.Println()函数将其打印在屏幕上。

示例

package main
import "fmt"

// function to find sum
func matrixSum(mat [][]int, n int) int {
   var sum int = 0
   for k := range mat {
      sum = sum + mat[k][k]
   }
   return sum
}
func main() {
   mat := [][]int{
      {10, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is: \n")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(mat[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var n int = 2
   result := matrixSum(mat, n)
   fmt.Println("The Sum of left diagonal element of Matrix = ", result)
}

输出

The given matrix is: 

10  1   2   
4   5   6   
8   9   10  

The Sum of left diagonal element of Matrix =  25

找到3 x 3矩阵右对角线的和

在这个示例中,我们将编写一个Go语言程序来找出3 x 3矩阵右对角线元素的和。

步骤

步骤1 - 导入fmt包。

步骤2 - 创建一个函数来找到给定矩阵的和。

步骤3 - 在这个函数中初始化一个名为sum的整数变量,并使用for循环遍历矩阵数组。

步骤4 - 在每次迭代中,使用矩阵的对角线元素(如02, 11, 20)更新sum变量,并返回sum变量。

步骤5 - 为了实现这一点,我们使用了一个if条件,通过计算迭代变量的和是否为2,满足上述条件。

步骤6 - 开始main函数。在这里,我们首先需要初始化一个矩阵,并使用for循环将其打印在屏幕上。

步骤7 - 现在,通过将矩阵作为参数调用matrixSum()。

步骤8 - 将结果存储在result变量中,并使用fmt.Println()函数将其打印在屏幕上。

示例

package main
import "fmt"

// function to find sum
func findSum(mat [][]int, n int) int {
   var sum int = 0
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         if i+j == 2 {
            sum = sum + mat[i][j]
         }
      }
   }
   return sum
}

// calling main()
func main() {
   mat := [][]int{
      {1, 1, 2},
      {4, 5, 6},
      {8, 9, 3},
   }
   fmt.Println("The given matrix is: \n")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(mat[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var n int = 3
   result := findSum(mat, n)
   fmt.Printf("\nSum of right diagonal elements is: %d", result)
}

输出

The given matrix is: 

1   1   2   
4   5   6   
8   9   3   


Sum of right diagonal elements is: 15

结论

我们成功地编译并执行了一个 Go 语言程序来求解一个 3 X 3 矩阵对角元素之和,并提供了示例。第一个示例中,我们求解了矩阵的左对角线元素之和,第二个示例中,我们求解了矩阵的右对角线元素之和。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程