Golang程序 计算左对角线矩阵之和

在这篇文章中,我们将通过不同的例子来学习如何计算左对角线矩阵的和。矩阵是一个二维数组。使用索引相等的逻辑打印左对角线矩阵。输出将使用fmt.println()函数打印在屏幕上,该函数是Golang中的一个打印语句。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行代码,fmt帮助格式化输入和输出。
  • 第2步 – 创建一个函数main,并在该函数中创建一个矩阵,并在其中填入一些数值。

  • 第3步 – 使用Golang的打印语句在控制台打印矩阵。

  • 第4步 – 创建一个变量sum,并将其初始化为0,这个变量将被用来存储矩阵的总和。

  • 第5步 – 运行一个循环,直到矩阵的长度为i=0且i<matrix_val,并在每次迭代中不断添加左边的对角线元素。

  • 第6步 – 循环结束后,收到的和将被打印在屏幕上。



  • 第7步 – 使用fmt.Println()函数执行打印语句,ln表示新行。

当矩阵的大小已知时

在这个例子中,我们将使用for循环来计算左对角线矩阵的和,这里矩阵的大小是已知的。一个sum变量将被用来存储这个值,输出结果将通过Golang中的print语句打印在控制台。

例子

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变量将被用来存储这个值,输出结果将通过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
    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变量将被用来存储数值,输出将使用Golang中的print语句打印在控制台。

例子

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循环。因此,程序成功执行。