Swift 读取并打印二维数组的程序


与其他编程语言一样,Swift 也支持二维数组。二维数组被称为数组的数组,它以表格形式存储相同类型的数据。或者我们可以说,二维数组是一个用行和列表示同类数据的数组。

语法

var twoDArray:[[Int]] = [[2, 3],[3, 4]]

为了从用户处读取二维数组,Swift 提供了一个名为 readLine() 的内置函数。readLine() 函数从输入中读取一个字符字符串。如果调用此函数时已达到文件结尾 (EOF),则它将返回 nil。

func readLine()
Or
func readLine(strippingNewline: true)

这里的 strippingNewline 参数是布尔类型。如果 strippingNewline 参数的值设置为 true,则表示换行符和字符组合将从结果中去除。否则,它们将被保留。默认情况下,strippingNewline 参数的值为 true。

要打印二维数组,我们可以使用嵌套 for-in 循环。嵌套 for-in 循环遍历给定二维数组的行和列中存在的每个元素。

for x in 0..<rows {
   for y in 0..<cols {
      print(newArray[x][y], terminator: " ")
   }
   print("")
}

这里的外部 for-in 循环表示二维数组的行,内部 for 循环表示二维数组的列。下标 `newArray[x][y]` 用于访问数组元素。

算法

  • 步骤 1 − 从用户处读取二维数组的行数和列数。

  • 步骤 2 − 创建并初始化一个具有默认值的二维数组。

  • 步骤 3 − 现在从用户处读取数组元素。

  • 步骤 4 − 输入所有数组元素后,在输出屏幕上显示结果二维数组。

示例

在下面的 Swift 示例中,我们将首先使用 readLine() 函数从用户处读取行数和列数。然后,我们创建一个并初始化一个具有默认值 0 的二维数组。现在,我们根据它们的位置从用户处读取二维数组的每个元素,例如 (0, 1) 元素为 2,(0, 2) 元素为 4,依此类推,这里 0 代表第 0 行,1 代表第 1 列。输入所有数组元素后,显示最终的二维数组。

import Foundation
import Glibc

// Enter the size of rows and columns
print("Enter the size of row")
let rows = Int(readLine()!)!
print("Enter the size of column")
let cols = Int(readLine()!)!

// Initialise a 2-D array with default values
var newArray = [[Int]](repeating: [Int](repeating: 0, count: cols), count: rows)

// Enter array elements
for x in 0..<rows {
   for y in 0..<cols {
      print("Enter element (\(x),\(y)): ")
      if let input = readLine(), let ele = Int(input) {
         newArray[x][y] = ele
      } else {
         print("Input is not valid. Please enter an integer value.")
      }
   }
}

// Displaying resultant array
print("\nFinal \(rows)x\(cols) matrix is:")
for x in 0..<rows {
   for y in 0..<cols {
      print(newArray[x][y], terminator: " ")
   }
   print("")
}

输入

Enter the size of row
3
Enter the size of column
3
Enter element (0,0): 
3
Enter element (0,1): 
2
Enter element (0,2): 
4
Enter element (1,0): 
2
Enter element (1,1): 
6
Enter element (1,2): 
7
Enter element (2,0): 
4
Enter element (2,1): 
3
Enter element (2,2): 
7

输出

Final 3x3 matrix is:
3 2 4 
2 6 7 
4 3 7 

结论

这就是我们如何读取和打印二维数组的方法。使用上述方法,您可以创建各种类型的矩阵,例如 2x2、3x4、4x3 等。此外,在使用 readLine() 函数时,您必须使用初始化器(例如,对于整数数据类型使用 Int(),对于双精度数据类型使用 Double())将结果转换为所需的数据类型,因为 readLine() 函数始终以字符串类型返回结果。

更新于:2023年4月24日

642 次浏览

启动您的 职业生涯

完成课程后获得认证

开始学习
广告