Go 語言程式判斷給定矩陣是否為稀疏矩陣


在本教程中,我們將編寫一個 Go 語言程式來確定給定的矩陣是否為稀疏矩陣。如果矩陣中存在的零元素數量多於非零元素的數量,則稱方陣為稀疏矩陣。

Go 語言程式檢查矩陣是否為稀疏矩陣

在本例中,我們將編寫一個 Go 語言程式來檢查稀疏矩陣。我們將在程式的主體部分使用 for 迴圈以及 if 條件來實現結果。

演算法

步驟 1 − 首先,我們需要匯入 fmt 包。

步驟 2 − 然後開始 main() 函式。在 main() 中初始化變數。

步驟 3 − 現在,初始化一個矩陣並向其中儲存值。此外,在螢幕上列印此矩陣。

步驟 4 − 使用 len() 函式將矩陣的行數和列數儲存在 rows 和 cols 變數中。

步驟 5 − 使用 for 迴圈遍歷矩陣的每個元素,並檢查當前元素是否為零。如果元素為零,則遞增 count 變數。

步驟 6 − 現在,如果 count 的值超過矩陣中元素的一半,則列印矩陣為稀疏矩陣,否則列印矩陣不是稀疏矩陣。

步驟 7 − 透過初始化另一個矩陣重複此過程。

示例

package main
import "fmt"
func main() {
   
   // initializing variables
   var i, j int
   var count int = 0
   matrixA := [3][3]int{
      {0, 1, 2},
      {4, 0, 0},
      {0, 0, 0},
   }
   var rows int = len(matrixA)
   var cols int = len(matrixA[0])

   // printing matrix
   fmt.Println("The first matrix is:")
   for i = 0; i < rows; i++ {
      for j = 0; j < cols; j++ {
         fmt.Print(matrixA[i][j], "\t")
      }
      fmt.Println()
   }
   
   // checking if matrix is a sparce matrix
   for i = 0; i < rows; i++ {
      for j = 0; j < cols; j++ {
         if matrixA[i][j] == 0 {
            count++
         }
      }
   }
   if count > (rows*cols)/2 {
      fmt.Println("The above matrix is a sparce matrix")
   } else {
      fmt.Println("The given matrix is not sparce")
   }
   fmt.Println()
   
   // initializing another matrix
   matrixB := [3][3]int{
      {0, 11, 12},
      {13, 0, 15},
      {16, 0, 18},
   }
   count = 0
   rows = len(matrixB)
   cols = len(matrixB[0])
   fmt.Println("The second matrix is:")
   for i = 0; i < rows; i++ {
      for j = 0; j < cols; j++ {
         fmt.Print(matrixB[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   for i = 0; i < rows; i++ {
      for j = 0; j < cols; j++ {
         if matrixB[i][j] == 0 {
            count++
         }
      }
   }
   if count > (rows*cols)/2 {
      fmt.Println("The above matrix is a sparce matrix")
   } else {
      fmt.Println("The above matrix is not sparce")
   }
}

輸出

The first matrix is:
0  1  2
4  0  0
0  0  0
The above matrix is a sparce matrix
The second matrix is:
0  11  12
13  0  15
16  0  18
The above matrix is not sparce

結論

我們已經成功編譯並執行了一個 Go 語言程式來檢查給定的矩陣是否為稀疏矩陣,並附帶示例。

更新於: 2023年1月10日

155 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.