Lid |
|
Hallo,
Ik zoek een code die dit op het scherm brengt:
Numbers < capacity 2, count 0 > :
Number ? : 10
Numbers < capacity 2, count 1 > : 10
Number ? : 5
Numbers < capacity 2, count 2 > : 5 10
Number ? : 7
Numbers < capacity 4, count 3 > : 5 7 10
Number ? : 5
Numbers < capacity 4, count 4 > : 5 5 7 10
Number ? : 0
Numbers < capacity 8, count 5 > : 0 5 5 7 10
Number ? : 6
Numbers < capacity 8, count 6 > : 0 5 5 6 7 10
Number ? : 8
Numbers < capacity 8, count 7 > : 0 5 5 6 7 8 10
Number ? : 9
Numbers < capacity 8, count 8 > : 0 5 5 6 7 8 9 10
Number ? : 15
Numbers < capacity 16, count 9 > : 0 5 5 6 7 8 9 10 15
Number ? : - 5
Numbers < capacity 16, count 10 > : -5 0 5 5 6 7 8 9 10 15
Number ? : _
De in te voeren getallen (zie number ? + waarde die dient ingevoerd te worden, dus eerste getal dat dient ingevoerd te worden is 10, dan 5 enz.) worden in een array op de juiste plaats ingevoegd. De array wordt op een "intelligente wijze" vergroot indien noodzakelijk. Dit wil zeggen dat er vertrokken wordt van een bepaalde capaciteit (2 elementen) en dat indien nodig de capaciteit wordt verdubbeld. Enkel de opgevulde elementen worden afgeprint. Het is niet de bedoeling de array steeds te sorteren na het toevoegen van een waarde, maar eerder om de waarde meteen op de juiste plaats in te voegen.
Ik heb volgende code in elkaar gebrokkeld, maar ik versta niet op welke manier je aan de oplossing kan komen. Kan iemand me helpen a.u.b.?
Module Module 1
Sub Main()
Dim capacity As Integer = 2
Dim count As Integer
Dim numbers(capacity - 1) As Integer
'
Do
Dim index As Integer
Console.Write("Numbers ( capacity " & capacity & _
", count " & count & " ) : ")
For index = 0 To count - 1
Console.Write(numbers(index) & " ")
Next
Console.WriteLine()
Console.Write("Number ? : ")
Dim number As Integer = Console.ReadLine()
count += 1
If count > capacity Then
capacity *= 2
ReDim Preserve numbers(capacity - 1)
End If
numbers(count - 1) = number
Loop
End Sub
End Module
|