計算右對角線元素之和的Go語言程式


在本文中,我們將學習如何透過不同的例子來計算右對角矩陣的和。矩陣是一個二維陣列。輸出將使用Golang中的列印語句fmt.println()函式列印到螢幕上。

演算法

  • 步驟1 − 建立一個main包,並在程式中宣告fmt(格式化包),其中main生成可執行程式碼,fmt幫助格式化輸入和輸出。

  • 步驟2 − 建立一個main函式,在這個函式中建立一個矩陣,並在其中填充一些值。

  • 步驟3 − 使用Golang中的列印語句在控制檯上列印矩陣。

  • 步驟4 − 建立一個變數sum並將其初始化為零,此變數用於儲存矩陣的和。

  • 步驟5 − 執行一個迴圈,直到矩陣的長度,使得i=0且i<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中的列印語句列印到控制檯。

示例

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

使用巢狀for迴圈

在這個例子中,我們將使用巢狀for迴圈來計算右對角矩陣的和。一個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迴圈。因此,程式成功執行。

更新於: 2023年1月23日

187 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.