Go语言程序计算左对角线矩阵的和


本文将学习如何通过不同的示例计算左对角线矩阵的和。矩阵是一个二维数组。左对角线矩阵是使用索引彼此相等的逻辑打印的。输出将使用 fmt.println() 函数打印到屏幕上,该函数是 Go 语言中的打印语句。

算法

  • 步骤 1 − 创建一个包 main 并声明程序中的 fmt(格式包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。

  • 步骤 2 − 创建一个函数 main,并在该函数中创建一个矩阵并填充一些值。

  • 步骤 3 − 使用 Go 语言中的打印语句在控制台上打印矩阵。

  • 步骤 4 − 创建一个变量 sum 并将其初始化为零,此变量将用于存储矩阵的和。

  • 步骤 5 − 运行一个循环,直到矩阵的长度,使得 i=0 且 i<matrix_val,并在每次迭代中将左对角线元素添加到 sum 中。

  • 步骤 6 − 在循环终止时,将接收到的 sum 打印到屏幕上。

  • 步骤 7 − 打印语句使用 fmt.Println() 函数执行,其中 ln 表示换行

当矩阵大小已知时

在此示例中,我们将使用 for 循环来计算左对角线矩阵的和,这里矩阵的大小是已知的。一个 sum 变量将用于存储值,输出将使用 Go 语言中的打印语句打印到控制台。

示例

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

	// Iterate through rows
	for i := 0; i < len(matrix_val); i++ {
		sum += matrix_val[i][i]
	}
	fmt.Println("Sum of left diagonal matrix is:", sum) //print sum of left diagonal elements
}

输出

The matrix given here is: [[10 20 30] [40 50 60] [70 80 90]]
Sum of left diagonal matrix is: 150

当矩阵大小未知时

在此示例中,我们将使用 for 循环来计算左对角线矩阵的和,这里矩阵的大小是未知的。一个 sum 变量将用于存储值,输出将使用 Go 语言中的打印语句打印到控制台。

示例

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
	n := len(matrix_val)

	// Iterate through columns
	for i := 0; i < n; i++ {
		sum += matrix_val[i][i]
	}
	fmt.Println("The Sum of left diagonal matrix is:", sum)
}

输出

The matrix originally created is: [[10 20 30] [40 50 60] [70 80 90]]
The Sum of left diagonal matrix is: 150

使用嵌套 for 循环

在此示例中,我们将使用嵌套 for 循环来计算左对角线矩阵的和。一个 sum 变量将用于存储值,输出将使用 Go 语言中的打印语句打印到控制台。

示例

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 left diagonal elements of matrix is:", sum) //print sum
}

输出

The original matrix is: [[10 20 30] [40 50 60] [70 80 90]]
Sum of left diagonal elements of matrix is: 150

结论

在上面的程序中,我们使用了三个示例来计算切片的左对角线元素的和。在第一个示例中,我们使用 for 循环来计算矩阵大小已知时的和,而在第二个示例中,我们使用了相同的逻辑来计算和,但这种情况将在矩阵大小未知时使用。在第三个示例中,我们使用了嵌套 for 循环。因此,程序成功执行。

更新于: 2023年1月23日

214 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.