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() 函数始终以字符串类型返回结果。