Teen ohjelmaa, jossa arvon taulukkoon 5 satunnaislukua. Nyt on ongelmana se miten saan tarkistettua etteivät luvut ole samoja. Eli minun täytyy saada taulukkoon 5 eriä satunnaislukua. Olen yrittänyt tehdä tätä do while silmukalla, muttei oikein onnistu. Onko kenelläkään ideaa millä tämän saisi toimimaan??
Esimerkiksi tähän tyyliin: (VB6)
Private Sub Form_Load()
Dim taulu(4) As Integer
Dim i As Integer, k As Integer
Randomize
For i = 0 To 4
taulu(i) = uusi_luku
If i > 0 Then
For k = 0 To i - 1 'tarkistetaan kaikki edelliset
If taulu(k) = taulu(i) Then
taulu(i) = uusi_luku
k = 0 'käydään tarkistusta läpi kunnes vastaavaa lukua ei ole taulukossa
End If
Next k
End If
Debug.Print (CStr(taulu(i)))
Next i
End Sub
Private Function uusi_luku() As Integer 'arpoo lukuja väliltä 1-10
uusi_luku = (10 - 1) * Rnd + 1
End FunctionJees, nyt sain sen toimimaan hieman soveltaen. Thanks!
Aihe on jo aika vanha, joten et voi enää vastata siihen.