Choisir un nombre aléatoire qui n'est pas déja dans la listbox !

Choisir un nombre aléatoire qui n'est pas déja dans la listbox ! - Delphi/Pascal - Programmation

Marsh Posté le 29-07-2013 à 13:18:17    

bonjour a tous
 
voila, j'aimerais un petit bout de code que j’espère assez simple, qui génère un nombre aléatoire entre 1 et 10 , a condition que ce nombre ne se trouve pas déja dans la listebox !
 
Donc j'imagine qu'il faut faire une boucle pour avoir le nombre d'entrées de la listbox, puis passer en revu ces nombre qui s'y trouvent, jusqu’à ce que le nombre aléatoire choisis sois différent !
 
Une petite piste ?
 
merci beaucoup  :jap:


Message édité par Foxus666 le 29-07-2013 à 13:19:49
Reply

Marsh Posté le 29-07-2013 à 13:18:17   

Reply

Marsh Posté le 29-07-2013 à 13:42:42    

Bonjour !
 
Ou alors, vous comptez le nombre d'éléments de la liste (appelé N), vous tirez un nombre aléatoire entre (N+1) et 10  (appelé A), et le nombre que vous devez ajouter est le A-ième nombre entre 1 et 10 qui ne figure pas dans la liste.
 
L'avantage, c'est que vous ne faites qu'un seul tirage et que, si la liste est triée, vous ne faites qu'un seul parcours (sinon, on peut aussi se ramener facilement à une configuration équivalente).
 
Bonne continuation !

Reply

Marsh Posté le 29-07-2013 à 14:14:19    

En gros l'algo doit ressembler à
 
Si la liste des valeurs de la listbox a 10 valeurs, alors retour avec rien ou un flag erreur
Si la liste des valeurs de la listbox a 9 valeurs, alors retour avec la valeur manquante
sinon
      faire
           generer une valeur aléatoire
      tant que la valeur est dans la liste des valeurs de la listbox
      retour de la valeur générée
fin
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed