Go語言程式顯示上三角矩陣
在本文中,我們將編寫一個Go語言程式來列印任何給定矩陣的上三角矩陣。
引言 − 如果方陣的主對角線以下的值都為零,則該方陣稱為上三角矩陣。只有當矩陣是方陣時(即行數和列數相同),才能以其上三角形式顯示矩陣。典型上三角矩陣的階數為 N X N。
方法一:使用for迴圈顯示上三角矩陣
在這種方法中,我們將編寫一個Go語言程式,使用main()函式中的for迴圈來顯示上三角矩陣。
演算法
步驟1 − 匯入fmt包。
步驟2 − 開始main()函式。
步驟3 − 初始化int型別的變數和一個3 X 3大小的矩陣。
步驟4 − 現在,使用fmt.Println()函式在螢幕上顯示矩陣。
步驟5 − 要以其上三角形式顯示矩陣,請使用for迴圈和if條件的組合。for迴圈幫助我們迭代陣列。
步驟6 − 對於每次迭代,如果列數大於行數,則列印矩陣的相應元素;否則,列印其位置的零。
步驟7 − 重複此過程,直到迭代完矩陣的每個元素並列印相應的值。
示例
使用for迴圈顯示上三角矩陣的Go語言程式。
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
方法二:使用使用者定義函式列印上三角矩陣
在這種方法中,我們將編寫一個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語言程式來列印上三角矩陣以及一個示例。為實現此目的,我們使用了兩個程式:一個程式使用main()函式中的for迴圈顯示上三角矩陣,另一個程式使用使用者定義函式來實現結果。
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP