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 - 打印输出。

示例

以下是用Swift编写的交换对角线元素的程序。

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 

在上面的代码中,我们有一个3x3的方阵。现在我们创建一个函数,在这个函数中,我们运行一个从0到size-1的for循环,每次迭代我们使用临时变量交换主对角线(mxt[x][x])和副对角线(mxt[x][size-x-1])的元素,并显示修改后的矩阵。

结论

因此,这就是我们如何交换给定矩阵的对角线元素的方法。此方法适用于任何类型的矩阵,例如方阵、对称矩阵、水平矩阵等。

更新于:2022-12-29

浏览量:164

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.