Mrx3
Messages postés24Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention 2 janvier 2007
-
15 juin 2003 à 19:32
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006
-
2 juil. 2003 à 14:58
Quand je fait :
r = Int(Rnd*255)+1
Comment empecher que r tombe 2 fois sur la même valeur ?
Par exemple r est choisit au hasard dans les 255 possibilité mais jamais une valeur est choisie deux fois de suite et donc quand r aurait fait toute les possibilité sa s'arreterai.
Y a t'il une fonction prédéfinie pour ça ou alors comment faire ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 juin 2003 à 19:42
Je ne pense pas qu'il existe une fonction pour cà ! Par contre, ce que tu peux faire, c'est stocker dans un tableau les 255 valeurs, puis, à chaque fois que r tombe sur une des valeurs, tu la remplace par '0' la valeur correspondante du tableau. Ensuite, si r retombe sur cette valeur, tu ignore la valeur. Je pense pas que ce soit la meilleure solution, mais c'en est une ;-)
DarK Sidious
[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
vr3h
Messages postés164Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention 9 octobre 2006 2 juil. 2003 à 14:58
Autre possibilité utilisable unikement en VB, tu as :
Dim R as single
Dim RT as single
Dim T as Long
do
RT = int(rnd *255)+1
if not(T and RT) then
R = RT
T = T + 2^R
end if
loop while T < (<Somme des 2^x où x va de 1 à 256>)
Ceci n'est que théorique, je suis pas sur que le type long accepte un nombre de 2^256... a vérifier donc