计算矩阵对角线之和的Golang程序
在本教程中,我们将编写一个go语言程序来寻找一个矩阵的对角线元素之和。
在这个例子中,我们将用外部函数求一个3×3矩阵的左对角线元素之和。
第1步 – 导入fmt包。
第2步 – 创建一个函数来寻找给定的矩阵之和。
第3步 – 在这个函数中,初始化一个名为sum的整数变量,并使用for循环来计算矩阵阵列。
第4步 – 在每个迭代中,用矩阵的对角线元素(如00,11,22)更新和变量,并返回和变量。
第5步 – 开始执行主函数。在这里,首先我们需要初始化一个矩阵,并使用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
在这个例子中,我们将写一个go语言程序来寻找一个3X3矩阵的右对角线元素之和。
第1步 – 导入fmt包。
第2步 – 创建一个函数来寻找给定的矩阵之和。
第3步 – 在这个函数中,初始化了一个名为sum的整数变量,并使用for循环来处理矩阵阵列。
第4步 – 在每个迭代中,用矩阵的对角线元素(如02、11、20)更新和变量,并返回和变量。
第5步 – 为了得到这一点,我们使用了一个if条件,通过计算迭代变量之和到2,满足上述条件。
第6步 – 开始执行主函数。在这里,首先我们需要初始化一个矩阵,并使用for循环将其打印在屏幕上。
第7步 – 现在,通过传递矩阵作为参数来调用matrixSum()。
第8步 – 将结果存储在结果变量中,并使用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语言程序,找到了3X3矩阵的对角线元素之和,并附有实例。在第一个例子中,我们找到了矩阵的左对角线之和,在第二个例子中,我们分别找到了矩阵的右对角线之和。