交换矩阵对角线的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])对角线上的元素相互交换,然后显示修改后的矩阵。
结论
因此,这就是我们如何互换给定矩阵的对角线。这种方法适用于任何类型的矩阵,如方形、对称、水平等。
极客教程