显示上三角矩阵的Golang程序
在这篇文章中,我们将写一个go语言程序来打印任何给定矩阵的上三角矩阵。
介绍 – 如果一个正方形矩阵的主对角线以下的数值为零,则称为上三角矩阵。矩阵只有在正方形的情况下才会以上三角形式显示,即它的行和列的数量必须相同。一个典型的上三角矩阵的顺序是N X N。
方法1:使用For循环显示上三角矩阵
在这个方法中,我们将编写一个go语言程序,在main()函数中使用for循环来显示上三角矩阵。
算法
第1步 – 导入fmt包。
第2步 – 启动main()函数。
第3步 – 初始化int类型的变量和一个大小为3X3的矩阵。
第4步 – 现在,使用fmt.Println()函数在屏幕上显示矩阵。
第5步 – 为了显示矩阵的上三角形式,使用for循环和if条件的组合。for循环帮助我们对数组进行迭代。
第6步 – 对于每一次迭代,如果列数大于行数,则打印矩阵中相应的元素,否则打印零。
第7步 – 重复这个过程,直到矩阵的每个元素都被迭代,并打印各自的数值。
示例
Golang程序使用for循环来显示上三角矩阵。
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()函数将得到的最终结果打印在屏幕上。
示例
Golang程序使用外部函数打印上三角矩阵。
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语言程序,以打印上三角矩阵,并附上一个例子。为了实现这个目标,我们使用了两个程序,一个是在main()函数中使用for循环来显示上三角矩阵,另一个是使用一个用户定义的函数来实现这个结果。