Go語言程式計算矩陣對角線之和


在本教程中,我們將編寫一個Go語言程式來查詢矩陣對角線元素的和。

計算矩陣對角線之和

在這個例子中,我們將使用外部函式查詢3 x 3矩陣左對角線元素的和。

演算法

步驟1 - 匯入fmt包。

步驟2 - 建立一個函式來查詢給定矩陣的和。

步驟3 - 在此函式中,初始化一個名為sum的整數變數,並使用for迴圈遍歷矩陣陣列。

步驟4 - 在每次迭代中,使用矩陣的對角線元素(例如00、11、22)更新sum變數,並返回sum變數。

步驟5 - 開始主函式。在這裡,我們首先需要初始化一個矩陣,並使用for迴圈將其列印到螢幕上。

步驟6 - 現在,透過將矩陣作為引數傳遞來呼叫matrixSum()。

步驟7 - 將結果儲存在result變數中,並使用fmt.Println()函式將其列印到螢幕上。

示例

package main
import "fmt"

// function to find sum
func matrixSum(mat [][]int, n int) int {
   var sum int = 0
   for k := range mat {
      sum = sum + mat[k][k]
   }
   return sum
}
func main() {
   mat := [][]int{
      {10, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The given matrix is: \n")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(mat[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var n int = 2
   result := matrixSum(mat, n)
   fmt.Println("The Sum of left diagonal element of Matrix = ", result)
}

輸出

The given matrix is: 

10	1	2	
4	5	6	
8	9	10	

The Sum of left diagonal element of Matrix =  25

查詢3 x 3矩陣右對角線的和

在這個例子中,我們將編寫一個Go語言程式來查詢3 x 3矩陣右對角線元素的和。

演算法

步驟1 - 匯入fmt包。

步驟2 - 建立一個函式來查詢給定矩陣的和。

步驟3 - 在此函式中,初始化一個名為sum的整數變數,並使用for迴圈遍歷矩陣陣列。

步驟4 - 在每次迭代中,使用矩陣的對角線元素(例如02、11、20)更新sum變數,並返回sum變數。

步驟5 - 為此,我們使用了if條件,透過計算迭代變數之和為2來滿足上述條件。

步驟6 - 開始主函式。在這裡,我們首先需要初始化一個矩陣,並使用for迴圈將其列印到螢幕上。

步驟7 - 現在,透過將矩陣作為引數傳遞來呼叫matrixSum()。

步驟8 - 將結果儲存在result變數中,並使用fmt.Println()函式將其列印到螢幕上。

示例

package main
import "fmt"

// function to find sum
func findSum(mat [][]int, n int) int {
   var sum int = 0
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         if i+j == 2 {
            sum = sum + mat[i][j]
         }
      }
   }
   return sum
}

// calling main()
func main() {
   mat := [][]int{
      {1, 1, 2},
      {4, 5, 6},
      {8, 9, 3},
   }
   fmt.Println("The given matrix is: \n")
   for i := 0; i < 3; i++ {
      for j := 0; j < 3; j++ {
         fmt.Print(mat[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   var n int = 3
   result := findSum(mat, n)
   fmt.Printf("\nSum of right diagonal elements is: %d", result)
}

輸出

The given matrix is: 

1	1	2	
4	5	6	
8	9	3	


Sum of right diagonal elements is: 15

結論

我們已經成功編譯並執行了一個Go語言程式,用於查詢3 x 3矩陣對角線元素的和,並附帶示例。在第一個例子中,我們找到了矩陣左對角線的和,在第二個例子中,我們分別找到了矩陣右對角線的和。

更新於:2022-12-28

瀏覽量:504

開啟你的職業生涯

完成課程獲得認證

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