Go語言程式交換對角線元素
在本文中,我們將編寫一個 Go 語言程式來交換矩陣的對角線元素。
使用外部函式交換矩陣的對角線元素
在這個程式中,我們將編寫一個 Go 語言程式,使用使用者自定義函式來交換 3 X 3 矩陣的對角線元素。
演算法
步驟 1 − 匯入 fmt 包。
步驟 2 − 建立一個函式來交換矩陣的對角線元素。在這個函式中,我們定義了兩個整數型別的變數併為其賦值。
步驟 3 − 使用 for 迴圈遍歷矩陣元素,並將左對角線的每個元素臨時儲存在上面初始化的 t 變數中。
步驟 4 − 現在,將右對角線的元素儲存在左對角線的位置,並將臨時變數中儲存的值儲存回右對角線。
步驟 5 − 重複這些過程,直到所有對角線元素都被交換。
步驟 6 − 現在,開始 main() 函式。在這裡,初始化一個 3 X 3 矩陣並在螢幕上列印它。
步驟 7 − 透過將矩陣作為引數傳遞給函式來呼叫 matrixInter() 函式。
步驟 8 − 現在,使用 for 迴圈和 fmt.Println() 函式在螢幕上列印矩陣。
示例
package main
import "fmt"
// function to interchange rows
func matrixInter(mat [][]int) {
var t int = 0
var rows int = 3
var i int
for i = 0; i < 3; i++ {
t = mat[i][i]
mat[i][i] = mat[i][rows-i-1]
mat[i][rows-i-1] = t
}
}
func main() {
mat := [][]int{
{10, 1, 2},
{4, 5, 6},
{8, 9, 10},
}
fmt.Println("The given matrix is: \n")
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
matrixInter(mat)
fmt.Println("The Matrix Items after Interchanging Diagonals is:")
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
}
輸出
The given matrix is: 10 1 2 4 5 6 8 9 10 The Matrix Items after Interchanging Diagonals is: 2 1 10 4 5 6 10 9 8
交換 4 階或以上矩陣的對角線元素
在這個程式中,我們將編寫一個 Go 語言程式,使用 main() 函式來交換 4 階或以上矩陣的元素。
演算法
步驟 1 − 匯入 fmt 包。
步驟 2 − 建立一個函式來交換矩陣的對角線元素。在這個函式中,我們定義了兩個整數型別的變數併為其賦值。
步驟 3 − 使用 for 迴圈遍歷矩陣元素,並將左對角線的每個元素臨時儲存在上面初始化的 t 變數中。
步驟 4 − 現在,將右對角線的元素儲存在左對角線的位置,並將臨時變數中儲存的值儲存回右對角線。
步驟 5 − 重複這些過程,直到所有對角線元素都被交換。
步驟 6 − 現在,開始 main() 函式。在這裡,初始化一個 4 X 4 或以上階的矩陣並在螢幕上列印它。
步驟 7 − 透過將矩陣作為引數傳遞給函式來呼叫 matrixInter() 函式。
步驟 8 − 現在,使用 for 迴圈和 fmt.Println() 函式在螢幕上列印矩陣。
示例
package main
import "fmt"
// function to interchange diagonals
func matrixInter(mat [][]int) {
var temp int = 0
var rows int = 4
var i int
for i = range mat {
temp = mat[i][i]
mat[i][i] = mat[i][rows-i-1]
mat[i][rows-i-1] = temp
}
}
func main() {
mat := [][]int{
{8, 9, 7, 6},
{4, 7, 6, 5},
{3, 2, 1, 8},
{9, 9, 7, 7},
}
fmt.Println("The given matrix is: \n")
for i := 0; i < 4; i++ {
for j := 0; j < 4; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
matrixInter(mat)
fmt.Println("The Matrix Items after Interchanging Diagonals is:")
for i := 0; i < 4; i++ {
for j := 0; j < 4; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
}
輸出
The given matrix is: 8 9 7 6 4 7 6 5 3 2 1 8 9 9 7 7 The Matrix Items after Interchanging Diagonals is: 6 9 7 8 4 6 7 5 3 1 2 8 7 9 7 9
結論
我們已經成功地編譯並執行了一個 Go 語言程式來交換矩陣的對角線元素,並附帶示例。在第一個示例中,我們使用了交換 3 X 3 矩陣元素的邏輯,而在第二個示例中,我們將該邏輯擴充套件到 4 階或以上階的矩陣。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP