ese*_*rdk 4 arrays for-loop ios swift
我是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)
}
Run Code Online (Sandbox Code Playgroud)
没用
因此,期待您的帮助。
@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)
}
Run Code Online (Sandbox Code Playgroud)
使用它:
diagonal(2)
// [[40, 58], [44, 83]]
Run Code Online (Sandbox Code Playgroud)