2017-10-14 1 views
0

Der Versuch, Zeilen der ganzen Zahl von Konsole durch ein einzelnes Leerzeichen in einem 2D-Array getrennt zu lesen. Ich habe versucht, mit split(separator:maxSplits:omittingEmptySubsequences:), aber es kann nicht in eine ganze Zahl umgewandelt werden.lesen Zeile von der Konsole als Eingabe für 2D-Array in Swift iOS

Die 2D-Array, das von der Konsole gelesen werden muss als Eingabe ähnliche Diese

1 1 1 0 0 0 
0 1 0 0 0 0 
1 1 1 0 0 0 
0 0 2 4 4 0 
0 0 0 2 0 0 
0 0 1 2 4 0 

aussieht, ist der Code, den ich

versucht
var arr = [[Int]]() 
for i in 0 ... 5 { 
    var a = readLine()?.components(separatedBy: " ") 
    var arr[i] = [a?.split(separator: " ", maxSplits: 1, omittingEmptySubsequences: false)] as? Int 

} 

Und der Fehler

cast from '[ArraySlice]?' to unrelated type 'Int' always fails 

Antwort

1

versuchen Sie diese

for i in 0...5 { 
    arr += readLine()!.components(separatedBy: " ").map{ Int($0)! } 
} 
0
for i in 0...5 {  
    var aux = [Int]() 

    readLine()?.split(separator: " ").map({ 
    aux.append(Int($0)!) 
    }) 
    arr.append(aux) 
}