ios - 在 Swift 中填充多维数组

标签 ios arrays swift for-loop

我是 Swift 的新手,我遇到了 Swift 语言的问题。

我应该创建一个函数,它创建一个二维矩阵 NxN 并计算对角线元素的总和。 我在用随机值填充数组时遇到了一些问题。

这是我的代码:

import Foundation
func diagonal (N:Int) {
    var array: [[Int]] = [[0],[0]]
    for row in 0...N {
        for col in 0...N {
            var z = Int(arc4random_uniform(100))
            array[row][col] = z
        }
    }
    println (array)
}    

它不起作用。

所以我期待着您的帮助。

最佳答案

@matt 的回答对您当前的代码提出了一些要点,并强调了您需要修复的地方。我想提供一个替代答案来填充二维数组。您可以使用 append 添加新值,而不是用零填充数组然后设置每个行/列值,例如:

func diagonal (N:Int) {
    var array: [[Int]] = []

    for row in 0..<N {
        // Append an empty row.
        array.append([Int]())

        for _ in 0..<N {
            // Populate the row.
            array[row].append(Int(arc4random_uniform(100)))
        }
    }

    println(array)
}

使用它:

diagonal(2)
// [[40, 58], [44, 83]]

关于ios - 在 Swift 中填充多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288722/

相关文章:

ios - 使用 iOS 5 AV Foundation 和 core-image 实时确定一张纸的角

c++ - 将数组的所有元素相加的 SSE 指令

java - 获取由换行符分隔的长数组 - 如何解析?安卓

ios - swift - UIAlertController 将用户带回到第一个 ViewController

ios - 如何从 Facebook graph api iOS 获取具有特定 id 的图像?

IOS:如何在主 UIView 中插入 filmStrip 类型 View

javascript - AngularJS 基于 JSON 记录过滤数据

ios - 无法快速安排本地通知在特定时间和日期触发

ios - 选择 HealthKit HKActivitySummary -> "NSInvalidArgumentException", "startDateComponents: Date components require a calendar."

ios - React Native iOS - CocoaPods 找不到 Flipper-Folly 的兼容版本,它们需要更高的最低部署目标