Golang 显示上三角矩阵

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()函数中显示上三角矩阵,另一个使用了一个用户定义函数来实现结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程