neotetsuo34
Messages postés68Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention23 mars 2007
-
25 mars 2005 à 13:27
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
25 mars 2005 à 14:42
bonjour, quand je fais un randomize le pb que j'ai est que ca m'affiche plusieurs fois le meme numero donc j'essai de faire un controle a ce niveau mais ca ne fonctionne pas.
voici mon code :
Dim place, i, z, j As Integer
Call initequipe
Randomize
For i = 0 To 15
'donne un nombre aléatoire
place = Int(Rnd * 15 + 1)
For z = 0 To 15
tabverif(z) = place
For j = 0 To 15
If place = tabverif(j) Then
place = Int(Rnd * 15 + 1)
End If
Next
Next
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 25 mars 2005 à 14:42
si j'ai bien compris tu veux une liste de nombres aléatoires de 0 à 15 mais que chaque chiffre soit présent.
pour cela on prépare une table avec tous les nombres 0 à 15 et ensuite on les mélange aléatoirement.
pour être plus logique je modifie un peu pour que l'élément i ne soit pas mélangé avec lui même.
par exemple quand i = 15 il sera mélangé avec un élément de 0 à 14.
pour l'élément 1 il sera mélangé obligatoirement avec le 0.
Dim tabverif(15) As Integer
Dim i As Integer
Dim place As Integer
Dim tmp As Integer
RandomizeFor i 0 To 15: tabverif(i) i: Next
For i = 15 To 1 step-1
place = Rnd *( i - 1) tmp tabverif(i): tabverif(i) tabverif(place): tabverif(place) = tmp
Next i
For i = 0 to 15
place = tabverif(i)
Text1(i).Text = tabequipe(place)
next
neotetsuo34
Messages postés68Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention23 mars 2007 25 mars 2005 à 14:25
peut-tu m'expliquer comment marche le code que tu m'as écrit stp car je ne connais pas cette syntaxe et ou faut-il que j'affiche le Text1(i).Text = tabequipe(place) étant donné que je débute. merci