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
   for i := 0; i < 3; i++ {
      t = mat[0][i]
      mat[0][i] = mat[rows-1][i]
      mat[rows-1][i] = 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 obtained after interchanging first and last row is: \n")
   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 obtained after interchanging first and last row is: 

8	9	10	
4	5	6	
10	1	2	

交換4階或更高階矩陣的首行和末行

在這個程式中,我們將看到如何交換4階或更高階矩陣的首行和末行元素。

演算法

步驟1 − 匯入fmt包。

步驟2 − 現在,啟動main()函式。在這裡,初始化一個3 X 3矩陣並在螢幕上列印。

步驟3 − 定義兩個整型變數併為其賦值。使用for迴圈迭代矩陣元素,並將每個元素臨時儲存在上面初始化的t變數中。

步驟4 − 現在,將末行元素儲存到首行,並將臨時變數中儲存的值儲存回末行。

步驟5 − 重複這些過程,直到所有行值都被交換。

步驟6 − 現在,使用for迴圈和fmt.Println()函式在螢幕上列印矩陣。

示例

package main
import "fmt"

// calling the main() function
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()
   var t int = 0
   var rows int = 4
   for i := 0; i < 4; i++ {
      t = mat[0][i]
      mat[0][i] = mat[rows-1][i]
      mat[rows-1][i] = t
   }
   fmt.Println("The matrix obtained after interchanging first and last row is: \n")
   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	76	
4	7	6	5	
3	2	1	8	
9	9	7	7	

The matrix obtained after interchanging first and last row is: 

9	9	7	7	
4	7	6	5	
3	2	1	8	
8	9	7	6	

結論

我們已經成功編譯並執行了一個Go語言程式,用於交換矩陣的首行和末行元素,並附帶示例。在第一個示例中,我們使用了交換3 X 3矩陣元素的邏輯,在第二個示例中,我們將邏輯擴充套件到4階或更高階矩陣。

更新於:2023年1月2日

瀏覽量:109

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.