Golang程序检查对称矩阵


2022年4月9日, Learn eTutorial
1319

为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题

如何检查对称矩阵

 对称矩阵是一个方阵,它等于其转置矩阵。形式上,由于相等的矩阵具有相等的维度,因此只有方阵才能是对称的。

例如

矩阵 =  

2 3 6

3 4 5

6 5 9

转置 =

2 3 6

3 4 5

6 5 9

如何在Go程序中检查对称矩阵

这里我们展示如何在Go语言中检查对称矩阵。这里变量mat,TMat 用于存储矩阵元素和迭代元素i,j。读取行数和列数以将矩阵元素读入变量row, col。读取元素后,使用两个嵌套for循环找到矩阵的转置。比较转置矩阵的每个元素是否等于原始矩阵。如果相等,则它是对称矩阵。最后,打印结果。下面是Go程序中使用的步骤。 

算法

第一步:导入 fmt

第二步:启动 main() 函数

步骤3:声明矩阵变量mat,TMat, 和迭代变量i,j

步骤 4:将行数和列数读入 row, col

步骤5:读取矩阵以查找转置

步骤6使用两个嵌套的 for循环查找矩阵的转置

步骤7将转置矩阵的每个元素与原始矩阵进行比较

步骤8如果相等,使用fmt.print()打印消息为对称矩阵 

 

Golang 源代码

                                          package main

import "fmt"

func main() {
    var i, j, row, col int

    var mat [10][10]int
    var TMat [10][10]int

    fmt.Print("Enter the number of rows and columns = ")
    fmt.Scan(&row;, &col;)

    fmt.Println("Enter matrix items = ")
    for i = 0; i < row; i++ {
        for j = 0; j < col; j++ {
            fmt.Scan(&mat;[i][j])
        }
    }
    for i = 0; i < row; i++ {
        for j = 0; j < col; j++ {
            TMat[j][i] = mat[i][j]
        }
    }
    count := 1
    for i = 0; i < col; i++ {
        for j = 0; j < row; j++ {
            if mat[i][j] != TMat[i][j] {
                count++
                break
            }
        }
    }
    if count == 1 {
        fmt.Println("This matrix is a Symmetric Matrix")
    } else {
        fmt.Println("The matrix is not a Symmetric Matrix")
    }

}
                                      

输出

Enter the number of rows and columns = 2 2
Enter matrix items = 
2  3
3  2
This matrix is a Symmetric Matrix