Golang 显示上三角矩阵
在本文中,我们将编写一个Go语言程序来打印给定矩阵的上三角矩阵。
介绍 - 如果一个方阵在主对角线下方全部是0,那么它被称为上三角矩阵。只有在方阵的情况下,才能将矩阵显示为上三角形式。即它必须有相同的行数和列数。典型上三角矩阵的阶数为N X N。
方法1:使用for循环显示上三角矩阵
在这种方法中,我们将编写一个Go语言程序来使用for循环在main()函数中显示上三角矩阵。
步骤
步骤1 - 导入fmt包。
步骤2 - 开始main()函数。
步骤3 - 初始化类型为int的变量和大小为3 X 3的矩阵。
步骤4 - 现在,使用fmt.Println()函数在屏幕上显示矩阵。
步骤5 - 使用for循环和if条件的组合来显示矩阵的上三角形式。for循环帮助我们迭代数组。
步骤6 - 对于每次迭代,如果列数大于行数,打印矩阵的相应元素,否则在该位置打印零。
步骤7 - 重复该过程,直到迭代矩阵的每个元素并打印相应的值。
示例
使用for循环显示上三角矩阵的Golang程序。
package main
import "fmt"
func main() {
// initializing variables
var i, j int
matrixA := [3][3]int{
{3, 1, 2},
{4, 5, 6},
{8, 9, 10},
}
// printing matrices on the screen
fmt.Println("The given matrix is:")
for i = 0; i < 3; i++ {
for j = 0; j < 3; j++ {
fmt.Print(matrixA[i][j], "\t")
}
fmt.Println()
}
// printing a new line
fmt.Println()
// getting upper triangle
fmt.Println("The upper triangular matrix obtained from the matrix is:")
for i = 0; i < 3; i++ {
fmt.Println()
for j = 0; j < 3; j++ {
if j >= i {
fmt.Print(matrixA[i][j], "\t")
} else {
fmt.Print("0 ", "\t")
}
}
}
fmt.Println()
}
输出
The given matrix is:
3 1 2
4 5 6
8 9 10
The upper triangular matrix obtained from the matrix is:
3 1 2
0 5 6
0 0 10
方法2:使用用户自定义函数打印上三角矩阵
在这种方法中,我们将编写一个 Go 语言程序,使用外部用户自定义函数来打印上三角矩阵。该函数将接受一个矩阵作为参数,并将转换并打印出 N X N 阶的上三角矩阵。
步骤
步骤1: 导入 fmt 包。
步骤2: 创建一个名为 upperTriangle() 的函数,用于找到上三角矩阵。该函数接受矩阵作为参数,并将最终的矩阵作为结果返回。
步骤3: 使用 for 循环和 if 条件组合来显示矩阵的上三角形式。for 循环帮助我们迭代数组。
步骤4: 对于每次迭代,如果列数大于行数,则打印矩阵中相应的元素;否则,在该位置打印零。
步骤5: 完成所有迭代后,返回结果。
步骤6: 现在,开始 main() 函数。初始化一个整数类型的矩阵并为其赋值。然后,在屏幕上打印此矩阵。
步骤7: 通过将两个矩阵作为参数传递给函数来调用 upperTriangle() 函数,并存储结果。
步骤8: 使用 fmt.Println() 函数在屏幕上打印最终结果。
示例
使用外部函数打印上三角矩阵的 Go 语言程序。
package main
import "fmt"
// creating the upper triangular matrix function
func upperTriangle(matrixA [3][3]int) [3][3]int {
var result [3][3]int
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if j >= i {
result[i][j] = matrixA[i][j]
} else {
result[i][j] = 0
}
}
}
return result
}
func main() {
// initializing variables
var i, j int
matrixA := [3][3]int{
{3, 1, 2},
{4, 5, 6},
{8, 9, 10},
}
// printing matrices on the screen
fmt.Println("The given matrix is:")
for i = 0; i < 3; i++ {
for j = 0; j < 3; j++ {
fmt.Print(matrixA[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
// calling the upperTriangle() function
result := upperTriangle(matrixA)
fmt.Println("The upper triangular matrix obtained from the above matrix is:")
for i = 0; i < 3; i++ {
for j = 0; j < 3; j++ {
fmt.Print(result[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
}
输出
The given matrix is:
3 1 2
4 5 6
8 9 10
The upper triangular matrix obtained from the above matrix is:
3 1 2
0 5 6
0 0 10
结论
我们成功地编译并执行了一个Go语言程序,打印上三角矩阵并附带一个示例。为了实现这一点,我们使用了两个程序,一个使用 for 循环在main()函数中显示上三角矩阵,另一个使用了一个用户定义函数来实现结果。