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.