Golang 判断给定矩阵是否为稀疏矩阵

Golang 判断给定矩阵是否为稀疏矩阵

在本教程中,我们将编写一个Go语言程序来确定给定的矩阵是否是稀疏矩阵。如果矩阵中零的数目大于非零元素的数目,则称其为方阵矩阵。

Golang检查矩阵是否为稀疏矩阵的程序

在本例中,我们将编写一个Golang程序来检查稀疏矩阵。我们将使用for循环和if条件来在程序的主部分中得出结果。

步骤

步骤1 − 首先,我们需要导入fmt包。

步骤2 − 然后开始main()函数。在main()中初始化变量。

步骤3 − 现在,初始化一个矩阵并存储值。然后在屏幕上打印该矩阵。

步骤4 − 使用len()函数将矩阵的行数和列数存储在rows和cols变量中。

步骤5 − 使用for循环遍历矩阵的每个元素,并检查当前元素是否为零。如果元素为零,则递增计数变量。

步骤6 − 现在,如果计数变量的值超过矩阵元素的一半,则打印矩阵是稀疏矩阵,否则打印矩阵不是稀疏矩阵。

步骤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语言程序,用于检查给定矩阵是否稀疏,并给出了示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程