Go语言程序计算矩阵对角线之和
在本教程中,我们将编写一个Go语言程序来查找矩阵对角线元素的和。
计算矩阵对角线之和
在这个例子中,我们将使用外部函数查找3 x 3矩阵左对角线元素的和。
算法
步骤1 - 导入fmt包。
步骤2 - 创建一个函数来查找给定矩阵的和。
步骤3 - 在此函数中,初始化一个名为sum的整数变量,并使用for循环遍历矩阵数组。
步骤4 - 在每次迭代中,使用矩阵的对角线元素(例如00、11、22)更新sum变量,并返回sum变量。
步骤5 - 开始主函数。在这里,我们首先需要初始化一个矩阵,并使用for循环将其打印到屏幕上。
步骤6 - 现在,通过将矩阵作为参数传递来调用matrixSum()。
步骤7 - 将结果存储在result变量中,并使用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 - 开始主函数。在这里,我们首先需要初始化一个矩阵,并使用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矩阵对角线元素的和,并附带示例。在第一个例子中,我们找到了矩阵左对角线的和,在第二个例子中,我们分别找到了矩阵右对角线的和。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP