Go語言程式計算矩陣元素之和


什麼是矩陣?

矩陣是由按行和列排列的數字集合組成的二維陣列。我們將使用三個例子來查詢元素的總和,並使用Golang程式比較矩陣的每個元素。

演算法

  • 步驟1 − 匯入fmt包。

  • 步驟2 − 現在我們需要啟動main()函式。

  • 步驟3 − 然後我們建立一個名為matrixA的矩陣。

  • 步驟4 − 使用fmt.Println()函式在螢幕上列印矩陣。

  • 步驟5 − 初始化一個名為sum的新變數,型別為int,用於儲存結果總和。

  • 步驟6 − 要查詢元素的總和,請使用for迴圈迭代矩陣。

  • 步驟7 − 使用第一個for迴圈獲取矩陣的行,而第二個for迴圈則獲取矩陣的列。

  • 步驟8 − 迴圈遍歷矩陣元素後,透過向其中新增值來更新sum變數。

  • 步驟9 − 在螢幕上列印矩陣的總和。

示例1

我們將使用for迴圈迭代矩陣,找到其元素的總和並在螢幕上打印出來。

package main
import "fmt"
func main() {
   matrix := [3][3]int{
      {0, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var sum int = 0
   for i := 0; i < len(matrix); i++ {
      for j := 0; j < len(matrix[i]); j++ {
         sum += matrix[i][j]
      }
   }
   fmt.Println("Sum of matrix elements:", sum)
}

輸出

The given matrix is:
0	1	2	
4	5	6	
8	9	10	

Sum of matrix elements: 45

示例2

在這個例子中,我們將使用Go程式設計中的range函式來查詢矩陣元素的總和。

package main
import "fmt"
func main() {
   matrix := [3][3]int{
      {20, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var sum int = 0
   for _, row := range matrix {
      for _, element := range row {
         sum += element
      }
   }
   fmt.Println("Sum of matrix elements:", sum)
}

輸出

The given matrix is:
20	1	2	
4	5	6	
8	9	10	

Sum of matrix elements: 65

示例3

在這個例子中,我們將使用遞迴方法來使用go程式設計查詢矩陣元素的總和。

package main
import "fmt"
// creating a funciton to find sum through recursion
func sumMatrix(matrix [3][3]int, row int, col int) int {
   if row == len(matrix) {
      return 0
   }
   if col == len(matrix[row]) {
      return sumMatrix(matrix, row+1, 0)
   }
   return matrix[row][col] + sumMatrix(matrix, row, col+1)
}
func main() {
   matrix := [3][3]int{
      {20, 1, 2},
      {4, 50, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is:")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(matrix[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   result := sumMatrix(matrix, 0, 0)
   fmt.Println("Sum of matrix elements:", result)
}

輸出

The given matrix is:
20	1	2	
4	50	6	
8	9	10	

Sum of matrix elements: 110

結論

我們已經成功地編譯並執行了一個Go語言程式來對矩陣進行求和,並附帶了示例。在前兩種方法中,我們分別使用了for迴圈和range函式來迭代矩陣,而在最後一個例子中,我們使用了遞迴方法來計算總和。請注意,第三種方法在功能上更高效,執行時間更短。

更新於:2023年2月16日

135 次瀏覽

開啟你的職業生涯

完成課程獲得認證

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