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.