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函数来迭代矩阵,而在最后一个示例中,我们使用了递归方法来计算求和。值得注意的是,第三种方法在功能上更高效,执行时间更短。