为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题
对称矩阵是一个方阵,它等于其转置矩阵。形式上,由于相等的矩阵具有相等的维度,因此只有方阵才能是对称的。
例如
矩阵 =
2 3 6
3 4 5
6 5 9
转置 =
2 3 6
3 4 5
6 5 9
这里我们展示如何在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()打印消息为对称矩阵
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