Ik wens unieke getallen genereren. In onderstaande code moet er nog wat tussenkomen om dubbele getallen te voorkomen.
Private Sub cmdSorteren_Click()
Const aantal = 6 'Aantal te sorteren getallen
Dim getallen(aantal) As Integer 'Array met getallen
Dim i As Integer 'hulpvariabele
Dim Gesorteerd As Boolean 'gesorteerd? ja of nee
Dim dummy As Integer 'hulpvariabele
Dim cyclus As Integer 'hulpvariabele testrondes
Randomize
Gesorteerd = False 'Begin met gesorteerd op onwaar te zetten
'Hier begint de cyclus tot als Gesorteerd waar is
cyclus = 0
'genereer de random getallen
For i = 0 To aantal - 1
getallen(i) = Int(44 * Rnd) + 1 'random getal 1 tot 9
Next
cmdSorteren.Visible = True ' zet de knop sorteren aan
Do While Not (Gesorteerd)
Gesorteerd = True ' Eerst aan zetten
For i = 0 To aantal - 2 'Het voorlaatste heeft als index Aantal -2
If getallen(i) > getallen(i + 1) Then 'Vergelijk…
dummy = getallen(i) 'Omwisselen
getallen(i) = getallen(i + 1)
getallen(i + 1) = dummy
Gesorteerd = False 'nog niet goed
End If
Next i
' eentje bijtellen na één cyclus
cyclus = cyclus + 1
Loop 'herbegin de cyclus
Dim uitslag As String
For i = 0 To aantal - 1
uitslag = uitslag & getallen(i) & " - "
Next i
'MsgBox uitslag, 64 + 0, "random getallen"
End Sub
Wie kent de oplossing?
Diezel