交换矩阵对角线的Swift程序
在这篇文章中,我们将学习如何编写一个Swift程序来交换对角线。因此,为了交换对角线,我们需要将主对角线的元素与给定矩阵的次对角线的元素交换。比如说
Original matrix:
2 4 5 6
3 4 6 2
6 7 7 2
1 1 1 1
So after swapping diagonals we get:
6 4 5 2
3 6 4 2
6 7 7 2
1 1 1 1
算法
- 第1步 – 创建一个函数。
-
第2步–运行一个for循环来迭代每个元素。
-
第3步 – 调换主对角线和次对角线的元素。
let temp = mxt[x][x]
mxt[x][x] = mxt[x][size-x-1]
mxt[x][size-x-1] = temp
-
第4步 – 创建一个矩阵。
-
第5步 – 调用函数并将矩阵传入其中
-
第6步 – 打印输出。
示例
按照斯威夫特的程序来互换对角线。
import Foundation
import Glibc
// Size of the array
var size = 3
// Function to interchange the diagonals of the matrix
func diagonalInterchange(M:[[Int]]){
var mxt : [[Int]] = M
// Interchanging diagonals by
// swapping the elements
for x in 0..<size{
if (x != size/2){
let temp = mxt[x][x]
mxt[x][x] = mxt[x][size-x-1]
mxt[x][size-x-1] = temp
}
}
// Displaying matrix
print("Matrix after diagonals interchange:")
for m in 0..<size{
for n in 0..<size{
print(mxt[m][n], terminator: " ")
}
print("\n")
}
}
// Creating 3x3 matrix of integer type
var matrix : [[Int]] = [[2, 3, 4],
[5, 6, 7],
[8, 3, 2]]
print("Original Matrix:")
for x in 0..<size{
for y in 0..<size{
print(matrix[x][y], terminator:" ")
}
print("\n")
}
// Calling the function
diagonalInterchange(M:matrix)
输出
Original Matrix:
2 3 4
5 6 7
8 3 2
Matrix after diagonals interchange:
4 3 2
5 6 7
2 3 8
在上面的代码中,我们有一个3×3的方形矩阵。现在我们创建一个函数,在其中运行一个从0到1的for循环,对于每个迭代,我们使用临时变量将primary(mxt[x][x])
和secondary(mxt[x][size-x-1])
对角线上的元素相互交换,然后显示修改后的矩阵。
结论
因此,这就是我们如何互换给定矩阵的对角线。这种方法适用于任何类型的矩阵,如方形、对称、水平等。