pour 50 entitées
Publié : dim. 22/juin/2008 14:09


merci
Code : Tout sélectionner
Global Dim Project.L(49)
Code : Tout sélectionner
For i = 0 To 49
Project(i) = i
Next
Code : Tout sélectionner
For i = 1 To 1000
Swap Project(Random(49) ), Project(Random(49) )
Next
Code : Tout sélectionner
For i = 0 To 49
Debug Project(i)
Next
Code : Tout sélectionner
Dim a ( 6)
RandomSeed(ElapsedMilliseconds()) ; initialise le generateur de nombre aleatoire
For i = 1 To 6 ; pour 6 fois (6 numero = une grille)
a(i) = Random(48)+1 ; on tire un chiffre au hasard entre 1 et 49
Debug "numero :"+Str(i)+" = "+ Str( a(i)) ; afffiche le resultat :o)
Next
End
si je savais la faire, je ferai partie du financement de Purebasic (entre autre)Frenchy Pilou a écrit :Et a routine du gros lot?
Code : Tout sélectionner
Dim a ( 6)
RandomSeed(ElapsedMilliseconds()) ; initialise le generateur de nombre aleatoire
For i = 1 To 6 ; pour 6 fois (6 numero = une grille)
Ok=0
Repeat
a(i) = Random(48)+1 ; on tire un chiffre au hasard entre 1 et 49
Ok=1; Normalement c'est bon
For z=1 To i-1 ; Sauf si on a déjà cette valeur
If a(i)=a(z)
Ok=0
EndIf
Next
Until Ok=1;
Debug "numero :"+Str(i)+" = "+ Str( a(i)) ; afffiche le resultat :o)
Next
End
Code : Tout sélectionner
;pureloto
;auteur Huitbit
;pb 4.20
Dim grille.b(7)
Dim grille_joueur.b(6)
;affichage
OpenConsole()
PrintN("tirage du loto")
Repeat
compteur=0
complementaire=0
;tirage initial
For i=1 To 7
grille(i)=1+Random(48)
Next i
;correction
For i=1 To 7
For j=1 To i
If i<>j
While grille(i)=grille(j)
grille(i)=1+Random(48)
Wend
EndIf
Next j
Next i
;choix des boules
For i=1 To 6
PrintN("Choix d'une case "+Str(i)+" ([entrer] pour valider ) ")
choix$=Input()
While Val(choix$)<1 Or Val(choix$)>49
PrintN("Choisissez une autre case "+Str(i)+" !")
choix$=Input()
Wend
If i>1
For j=1 To i-1
While Val(choix$)= grille_joueur(j)
PrintN("Choisissez une autre case "+Str(i)+" !")
choix$=Input()
Wend
Next j
While Val(choix$)<1 Or Val(choix$)>49
PrintN("Choisissez une autre case "+Str(i)+" !")
choix$=Input()
Wend
EndIf
grille_joueur(i)=Val(choix$)
Next i
;verification de la grille
For i=1 To 7
For j=1 To 6
If grille(i)=grille_joueur(j)
compteur=compteur+1
EndIf
If grille(7)=grille_joueur(j)
complementaire=1
EndIf
Next j
Next i
;affichage des resultats
PrintN("")
PrintN("<<<<<<<<<<>>>>>>>>>>")
PrintN("Numeros joues :")
For i =1 To 6
Print(Str(grille_joueur(i))+" / ")
Next i
PrintN("")
PrintN("")
PrintN("Numeros gagnants : ")
For i =1 To 6
Print(Str(grille(i))+" / ")
Next i
Print("compl : "+Str(grille(7)))
PrintN("")
PrintN("resultat :"+Str(compteur)+" bon(s) numero(s)")
If complementaire=1
PrintN("vous avez le complementaire!")
EndIf
PrintN("")
PrintN("")
ForEver
CloseConsole()
End
exacte, j'avais omis ce petit detailThyphoon a écrit :Sauf que là avec les routines données vous pouvez tomber plusieurs fois sur le même numéro, alors que ça doit être impossible pour les numéro du loto...
C'est peut être pour ça que tu n'as pas encore gagné au loto... tu te retrouvais a coché plusieurs fois la même caseDobro a écrit :exacte, j'avais omis ce petit detailThyphoon a écrit :Sauf que là avec les routines données vous pouvez tomber plusieurs fois sur le même numéro, alors que ça doit être impossible pour les numéro du loto...
Thyphoon a écrit :C'est peut être pour ça que tu n'as pas encore gagné au loto... tu te retrouvais a coché plusieurs fois la même caseDobro a écrit :exacte, j'avais omis ce petit detailThyphoon a écrit :Sauf que là avec les routines données vous pouvez tomber plusieurs fois sur le même numéro, alors que ça doit être impossible pour les numéro du loto...
Super !Ollivier a écrit :Code : Tout sélectionner
Global Dim Project.L(49) For i = 0 To 49 Project(i) = i Next For i = 1 To 1000 Swap Project(Random(49) ), Project(Random(49) ) Next For i = 0 To 49 Debug Project(i) Next
Code : Tout sélectionner
For i = 0 To 49
Swap Project(i), Project(Random(49))
Next
Code : Tout sélectionner
For passages=1 to 2
For i = 0 To 49
Swap Project(i), Project(Random(49))
Next
Next