Golang 计算右对角线元素和
在本文章中,我们将学习如何通过不同的示例来计算右对角线矩阵的和。矩阵是一个二维数组。使用fmt.println()函数将结果打印在屏幕上,这是一条在Golang中的打印语句。
步骤
- 步骤1 - 创建一个main包并在程序中声明fmt(格式化包)包,main包用于生成可执行代码,fmt包用于格式化输入和输出。
-
步骤2 - 创建一个main函数,在该函数内部创建一个矩阵,并填充其中的值。
-
步骤3 - 使用Golang的打印语句将矩阵打印在控制台上。
-
步骤4 - 创建一个变量sum,并将其初始化为零,该变量用于存储矩阵的和。
-
步骤5 - 运行一个循环,使i从0到len(matrix_val),并在每次迭代中将右对角线元素添加到sum中。
-
步骤6 - 循环结束后,将得到的sum打印在屏幕上。
-
步骤7 - 使用fmt.Println()函数执行打印语句,其中ln表示换行。
当矩阵的大小已知时
在这个示例中,我们将使用for循环来计算右对角线矩阵的和,这里矩阵的大小是已知的。使用一个sum变量来存储结果,并使用Golang的打印语句将结果打印在控制台上。
示例
package main
import "fmt"
func main() {
matrix_val := [][]int{{10, 20, 30}, {40, 50, 60}, {70, 80, 90}} //create matrix
fmt.Println("The matrix given here is:", matrix_val)
// Initialize sum to 0
sum := 0
for i := 0; i < len(matrix_val); i++ {
sum += matrix_val[i][len(matrix_val)-i-1]
}
fmt.Println("Sum of right diagonal elements:", sum)
}
输出
The matrix given here is: [[10 20 30] [40 50 60] [70 80 90]]
Sum of right diagonal elements: 150
当矩阵的大小未知时
在这个示例中,我们将使用for循环来计算右对角线矩阵的和,这里矩阵的大小未知。一个sum变量将被用来存储值,输出将使用Golang的print语句打印在控制台上。
示例
package main
import "fmt"
func main() {
matrix_val := [][]int{{10, 20, 30}, {40, 50, 60}, {70, 80, 90}}
fmt.Println("The matrix originally created is:", matrix_val)
sum := 0
// length of the matrix
length := len(matrix_val)
// Iterate through columns
for i := 0; i < length; i++ {
sum += matrix_val[i][length-i-1]
}
fmt.Println("The Sum of right diagonal matrix is:", sum)
}
输出
The matrix originally created is: [[10 20 30] [40 50 60] [70 80 90]]
The Sum of right diagonal matrix is: 150
使用嵌套循环
在这个示例中,我们将使用嵌套循环来计算右对角矩阵的和。一个 sum 变量将被用来存储值,输出将使用 Golang 中的打印语句打印到控制台上。
示例
package main
import "fmt"
func main() {
var matrix_val [3][3]int = [3][3]int{{10, 20, 30}, {40, 50, 60}, {70, 80, 90}}
var sum int = 0
fmt.Println("The original matrix is:", matrix_val)
for i, row := range matrix_val { //run nested for loop
for j, value := range row {
if i == j {
sum += value
}
}
}
fmt.Println("Sum of right diagonal elements of matrix is:", sum) //print sum
}
输出
The original matrix is: [[10 20 30] [40 50 60] [70 80 90]]
Sum of right diagonal elements of matrix is: 150
结论
在以上程序中,我们使用了三个示例来计算切片的右对角线元素之和。在第一个示例中,我们使用for循环来计算在矩阵大小已知的情况下的总和,而在第二个示例中,我们使用相同的逻辑来计算总和,但是该情况适用于矩阵大小未知的情况。在第三个示例中,我们使用了嵌套的for循环。因此,程序成功执行。