私は1から49までの6つの数字の5つの配列を生成するコードを開発しました。私はarc4random_uniform(49)
関数を使ってそれを試みました。しかし、appendArrays()
が5つのループすべてに対して同じ番号のセットを生成しているとき。Swift 4で同じ機能を持つ乱数を生成しないようにする方法
[11、16、27、31、37、39]、[11、16、27、31、37、39]、[11]、[16:ここ
class six49: lottery { var price: Int var winner: [Int] = [] override init(draws: Int, lines: Int){ price = 3 super.init(draws: draws, lines: lines) } func appendArrays(win: inout [Int], win2: inout [[Int]]) -> [[Int]] { while win2.count < lines { while win.count < 6 { let selection = arc4random_uniform(49) if win.contains(Int(selection)){ continue } else { win.append(Int(selection)) win = win.sorted() } } win2.append(win) } return win2 } } let result = six49(draws: 1, lines: 5) var arr2: [[Int]] = [] var arr1: [Int] = [] var collection = result.appendArrays(win: &arr1,win2: &arr2) print(collection)
が出力されます、27,31,37,39]、[11,16,27,31,37,39]、[11,16,27,31,37,39]]
ループごとに異なる番号のセットを作成しようとするが、私は解決策を見つけることができない。
これから多くを学びました。ありがとうございました! –
歓迎です、ジェームス。私は助けることができてうれしいです。 – vacawama
これには 'Set'を使う方が良いでしょう。 –
Alexander