Swift 语言程序:查找矩阵边界元素之和


本文将学习如何编写一个 Swift 程序来查找矩阵边界元素的和。矩阵的边界元素是指位于矩阵边界上的元素,即第一行、最后一行、第一列和最后一列的元素。例如:

Given Matrix:
2 4 5 6 7 8
4 5 6 7 3 2
3 4 5 6 2 1
1 1 1 1 1 1 
3 4 3 4 3 4
2 2 2 2 2 2

Boundary elements are:
2 4 5 6 7 8
4         2
3         1
1         1
3         4        
2 2 2 2 2 2

Sum  = 2+4+5+6+7+8+2+1+1+4+2+2+2+2+2+2+3+1+3+4 = 63

因此,为了找到边界元素的和,我们遍历给定矩阵的每个元素,然后检查是否是边界元素,最后将它们加起来以找到它们的和。

算法

  • 步骤 1 - 创建一个函数。

  • 步骤 2 - 使用 for 循环遍历每个元素。

  • 步骤 3 - 检查当前元素是否位于边界上。

if(x == 0 || y == 0 || x == row-1 || y == col-1)
  • 步骤 4 - 如果条件为真,则将边界元素加起来以找到它们的和。

  • 步骤 5 - 创建一个矩阵。

  • 步骤 6 - 调用函数并将矩阵传递给它。

  • 步骤 7 - 打印输出。

示例 1

以下 Swift 程序用于查找矩阵边界元素的和。

import Foundation
import Glibc

// Size of the matrix 
var row = 5
var col = 5

// Function to print the sum of the boundary 
// elements of a matrix
func displayBoundary(mxt:[[Int]]) ->Int{
   var Bsum = 0
   for x in 0..<row{
      for y in 0..<col{
         if (x == 0){
            Bsum += mxt[x][y]
         }
         else if(x == row-1){
            Bsum += mxt[x][y]
         }
         else if(y == 0){
            Bsum += mxt[x][y]
         }
         else if (y == col-1){
            Bsum += mxt[x][y]
         }
      }
   }
   return Bsum
}
// Creating 5x5 matrix of integer type
var matrix : [[Int]] = [[1, 3, 4, 5, 2], [2, 16, 7, 5, 7], 
   [1, 0, 3, 1, 4], [2, 4, 3, 2, 4],
   [5, 2, 0, 0, 4]]

print("Original Matrix:")
for x in 0..<row{
   for y in 0..<col{
      print(matrix[x][y], terminator:" ")
   }
   print("\n")
}

// Calling the function
print("Sum of the boundary elements of the matrix is", displayBoundary(mxt:matrix))

输出

Original Matrix:
1 3 4 5 2 

2 16 7 5 7 

1 0 3 1 4 

2 4 3 2 4 

5 2 0 0 4 

Sum of the boundary elements of the matrix is 46

在上面的代码中,我们有一个 5x5 的矩阵。现在我们创建一个函数来查找给定矩阵的边界元素的和。在这个函数中,我们使用嵌套的 for 循环来遍历数组的每个元素,并使用以下条件检查元素是否位于边界上:x == 0、x == row-1、y == 0 和 y == col-1。如果这些条件为真,则将边界元素加起来以找到它们的和。

示例 2

以下 Swift 程序用于打印矩阵的边界元素。

import Foundation
import Glibc

// Size of the matrix 
var row = 5
var col = 4

// Function to find the sum of the boundary elements of a matrix
func SumBoundary(mxt:[[Int]])->Int{
   var Bsum = 0
   for x in 0..<row{
      for y in 0..<col{
      
         // Checking for the boundary elements
         if (x == 0 || y == 0 || x == row-1 || y == col-1){
         
            // Calculating the sum of the
            // boundary elements
            Bsum += mxt[x][y]
         }
      }
   }
   return Bsum
}

// Creating 5x4 matrix of integer type
var matrix : [[Int]] = [[1, 3, 4, 5], [2, 16, 7, 5], 
   [1, 0, 3, 1], [2, 4, 3, 2],
   [5, 2, 0, 0]]

print("Original Matrix:")
for x in 0..<row{
   for y in 0..<col{
      print(matrix[x][y], terminator:" ")
   }
   print("\n")
}
print("Sum of the boundary elements of the matrix is:", SumBoundary(mxt:matrix))

输出

Original Matrix:
1 3 4 5 

2 16 7 5 

1 0 3 1 

2 4 3 2 

5 2 0 0 

Sum of the boundary elements of the matrix is: 33

在上面的代码中,我们有一个 4x5 的矩阵。现在我们创建一个函数来查找数组的边界元素的和。在这个函数中,我们使用嵌套的 for 循环来遍历数组的每个元素,并使用以下条件检查元素是否位于边界上:(x == 0 || y == 0 || x == row-1 || y == col-1)。如果这些条件为真,则将边界元素加起来以找到它们的和。

结论

通过检查给定矩阵的每个元素是否是边界元素,然后将它们加起来,我们可以找到矩阵的边界元素的和。

更新于: 2022-12-29

118 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告
© . All rights reserved.