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