Section "The book of a fast programming language" in the chapter "Experiment on control flow 3"

I work through the first chapter of the book and cannot understand the experiment:

Add another variable to keep track of which type of number was the largest, as well as what was the largest number.

This is the code from the book:

let interstingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13, 17], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25, 36], ] var largest = 0 for (kind, numbers) in interstingNumbers { for number in numbers { if number > largest { largest = number } } } largest 
+8
ios swift
source share
4 answers

So basically you want to place kind somewhere along with how you put number in largest , for example. into a variable called largestKind .

0
source share

Like this:

 let interstingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13, 17], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25, 36], ] var largest = 0 var largestKind = "" for (kind, numbers) in interstingNumbers { for number in numbers { if number > largest { largest = number largestKind = kind } } } largest largestKind 
+10
source share

Asked question to track value and type so as not to display the type of final answer. I think this is getting closer:

 let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25], ] var largest = 0 var largestType = [String]() var largestValues = [Int]() for (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number largestValues.append(largest) largestType.append(kind) } } } print(largest) print(largestType) print(largestValues) 

And now with tuples:

 let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25], ] var largest = 0 var largestValues: [(type: String, value: Int)] = [] for (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number largestValues.append(type: kind, value: number) } } } print(largest) print(largestValues) 
+1
source share
 let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25], ] var largest = 0 var largestNumbers = [ "Prime":0, "Fibonacci":0, "Square":0, ] for (kind, numbers) in interestingNumbers { for number in numbers { if number > largest { largest = number } if(number > largestNumbers[kind]!){ largestNumbers[kind] = number; } } } print(largest) print(largestNumbers) Result is: 25 ["Fibonacci": 8, "Square": 25, "Prime": 13] 
0
source share

All Articles