Go语言程序:检查两个矩阵是否相等


在本教程中,我们将编写一个Go语言程序来检查两个矩阵是否相等。矩阵是由按行和列排列的数字集合,一个二维数组。

使用if语句检查两个矩阵是否相等

在这个例子中,我们将使用if条件语句来比较两个矩阵的相等性。

算法

步骤1 - 导入fmt包。

步骤2 - 开始main()函数。

步骤3 - 初始化并为两个矩阵赋值。

步骤4 - 在屏幕上打印这些矩阵。

步骤5 - 现在使用等号(==)运算符来检查给定的矩阵是否相等。

步骤6 - 将结果相应地打印回屏幕。

示例

package main
import (
   "fmt"
)
func main() {
   var i, j int
   matrixA := [3][3]int{
      {0, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   matrixB := [3][3]int{
      {10, 11, 12},
      {13, 14, 15},
      {16, 17, 18},
   }
   fmt.Println("The first matrix is:")
   for i = 0; i < 3; i++ {
      for j = 0; j < 3; j++ {
         fmt.Print(matrixA[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   fmt.Println("The second matrix is:")
   for i = 0; i < 3; i++ {
      for j = 0; j < 3; j++ {
         fmt.Print(matrixB[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   if matrixA == matrixB {
      fmt.Println("The First Matrix and the Second Matrix are Equal")
   } else {
      fmt.Println("The First Matrix is Not Equal to the Second Matrix")
   }
}

输出

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

The second matrix is:
10	11	12	
13	14	15	
16	17	18	

The First Matrix is Not Equal to the Second Matrix

使用for循环检查两个矩阵是否相等

现在让我们来看另一种可以用来检查两个矩阵相等性的方法。

算法

步骤1 - 导入fmt包。

步骤2 - 开始main()函数。

步骤3 - 初始化并为两个矩阵赋值。

步骤4 - 在屏幕上打印这些矩阵。现在使用for循环来检查一个矩阵的每个元素是否等于另一个矩阵的元素。

步骤5 - 初始化一个名为isequal的变量并将其值赋值为1。使用for循环迭代矩阵。

步骤6 - 如果两个矩阵的任何元素不相等,则将isequal的值翻转为0并中断循环。

步骤7 - 循环完成后,使用if条件来判断isequal变量的值,只有当元素不相同时,其值才为0。

步骤8 - 现在在屏幕上打印结果。

示例

package main
import (
   "fmt"
)
func main() {
   var i, j int
   matrixA := [3][3]int{
      {0, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   matrixB := [3][3]int{
      {0, 1, 2},
      {4, 5, 6},
      {8, 9, 10},
   }
   fmt.Println("The first matrix is:")
   for i = 0; i < 3; i++ {
      for j = 0; j < 3; j++ {
         fmt.Print(matrixA[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   fmt.Println("The second matrix is:")
   for i = 0; i < 3; i++ {
      for j = 0; j < 3; j++ {
         fmt.Print(matrixB[i][j], "\t")
      }
      fmt.Println()
   }
   fmt.Println()
   isequal := 1
   for i = 0; i < 3; i++ {
      for j = 0; j < 3; j++ {
         if matrixA[i][j] != matrixB[i][j] {
            isequal = 0
            break
         }
      }
   }
   if isequal == 1 {
      fmt.Println("The First Matrix and the Second Matrix are Equal")
   } else {
      fmt.Println("The First Matrix is Not Equal to the Second Matrix")
   }
}

输出

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

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

The First Matrix and the Second Matrix are Equal

结论

我们已经成功地编译并执行了一个Go语言代码来检查两个矩阵是否相等。

更新于:2022年12月28日

浏览量:190

开启你的职业生涯

通过完成课程获得认证

开始学习
广告