Swift 程式查詢矩陣轉置
在本文中,我們將學習如何編寫一個 Swift 程式來查詢矩陣的轉置。矩陣的轉置是透過將矩陣的行轉換為列或列轉換為行來計算的。例如,我們有以下矩陣
$$\mathrm{X\:=\:\begin{bmatrix} 13, & 59, & 32, & 67 \newline 23, & 56, &89, & 3 \newline 98, & 3, & 32, & 43 \newline 6, & 90, & 43, &23 \end{bmatrix}}$$
因此,**矩陣 X** 的轉置是:
$$\mathrm{X^{T}\:=\:\begin{bmatrix} 13, & 23, & 98, & 6 \newline 59, & 56, & 3, & 90 \newline 32, & 89, & 32, & 43 \newline 67, & 3, & 43, &23 \end{bmatrix}}$$
因此,為了在 Swift 中查詢矩陣的轉置,我們藉助一個臨時變數將行的元素轉換為矩陣的列。
演算法
**步驟 1** − 定義矩陣的大小。
**步驟 2** − 建立一個以陣列作為引數的函式。
**步驟 3** − 執行巢狀 for 迴圈。
**步驟 4** − 在巢狀 for 迴圈內,使用臨時變數交換行和列以查詢轉置。
let temp = C[x][y] C[x][y] = C[y][x] C[y][x] = temp
**步驟 5** − 使用陣列建立一個 3x3 矩陣。
**步驟 6** − 將原始矩陣作為引數傳遞給函式。
**步驟 7** − 顯示輸出。
示例
在下面的示例中,我們查詢矩陣的轉置。
import Foundation
import Glibc
// Size of the matrix
var N : Int = 3
// Function to find the transpose of a matrix
func transpose(A:[[Int]]) {
var C:[[Int]] = A
// finding transpose of a matrix by
// swapping C[x][y] with C[y][x]
for x in 0..<N {
for y in (x+1)..<N {
let temp = C[x][y]
C[x][y] = C[y][x]
C[y][x] = temp
}
}
// Printing transpose of the matrix
print("Transpose of Matrix A")
for i in 0..<N {
for j in 0..<N {
print(C[i][j], terminator:" ")
}
print("\n")
}
}
// Original matrix
var X : [[Int]] = [[2,3,4], [4,5,6],[6,7,8]]
print("Original Matrix A")
for i in 0..<N {
for j in 0..<N{
print(X[i][j], terminator:" ")
}
print("\n")
}
// Calling function
transpose(A:X)
輸出
Original Matrix A 2 3 4 4 5 6 6 7 8 Transpose of Matrix A 2 4 6 3 5 7 4 6 8
在上面的程式碼中,我們使用二維陣列建立一個**3x3 矩陣**。現在我們建立一個函式來查詢矩陣的轉置。在這個函式中,我們藉助臨時變數將矩陣的行元素交換為列,以獲得給定矩陣的轉置。
結論
透過交換矩陣的行和列或列和行,我們可以找到給定矩陣的轉置。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP