Golang 程序检查两个矩阵是否相等
go programmingserver side programmingprogramming更新于 2025/5/12 16:37:17
在本教程中,我们将编写一个 golang 程序来检查两个矩阵是否相等。矩阵是按行和列排列的数字集合,是一个二维数组。
使用 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("第一个矩阵是:") for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { fmt.Print(matrixA[i][j], "\t") } fmt.Println() } fmt.Println() fmt.Println("第二个矩阵是:") 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("第一个矩阵和第二个矩阵相等") } else { fmt.Println("第一个矩阵不等于第二个矩阵") } }
输出
第一个矩阵是: 0 1 2 4 5 6 8 9 10 第二个矩阵是: 10 11 12 13 14 15 16 17 18 第一个矩阵不等于第二个矩阵
使用 For 循环检查两个矩阵是否相等
现在让我们看看另一种检查两个矩阵相等的方法。
算法
步骤 1 - 导入 fmt 包。
步骤 2 - 启动 main() 函数。
步骤 3 - 初始化两个矩阵并为其赋值。
步骤 4 - 将这些矩阵打印在屏幕上。现在使用 for 循环检查一个矩阵的每个元素是否等于另一个矩阵的元素。
步骤 5 - 初始化一个名为 isequal 的变量并为其赋值 1。使用 for 循环遍历矩阵。
步骤 6 - 如果两个矩阵中的任何一个元素不同,则将 isequal 的值翻转为零并中断循环。
步骤 7 - 循环完成后,使用 if 条件使 isequal 变量的值相等,只有当元素不相同时,该变量的值才为零。
步骤 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("第一个矩阵是:") for i = 0; i < 3; i++ { for j = 0; j < 3; j++ { fmt.Print(matrixA[i][j], "\t") } fmt.Println() } fmt.Println() fmt.Println("第二个矩阵是:") 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("第一个矩阵和第二个矩阵相等") } else { fmt.Println("第一个矩阵不等于第二个矩阵") } }
输出
第一个矩阵是: 0 1 2 4 5 6 8 9 10 第二个矩阵是: 0 1 2 4 5 6 8 9 10 第一个矩阵和第二个矩阵相等
结论
我们已成功编译并执行 golang 代码来检查两个矩阵是否相等。