我是 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/