Générateur de random paramètrable

Résolu
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012 - 21 sept. 2007 à 16:25
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012 - 24 sept. 2007 à 09:40
( Pour les spécialistes du random ou les Matheux )

Bonjour,


Je cherche  faire un générateur de random paramétrable




Ex :  je désire un chiffre entre 1 et 25 et je veux que sur 100 tirages mon générateur me sorte par exemple  

10% le chiffre 7
 5% le chiffre 12
15% le chiffre 22

Ben comment je fais alors 

Pascal Laurençon

7 réponses

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
22 sept. 2007 à 22:39
Tu fais un tableau de 100 nombres, tu remplis d'abord les premières cases avec les proportions désirées, s'il reste des cases, tu les remplis avec des nombres aléatoires, ensuite tu utilise un algorithme de dérangement sur ton tableau pour mélanger toutes les cases aléatoirement, puis lors de l'appel des nombres, tu sors les nombres du tableau un à un...

<hr size="2" width="100%" />Julien.
3
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
21 sept. 2007 à 17:15
Salut,

10% le chiffre 7
 5% le chiffre 12
15% le chiffre 22    

= 30% !!! Les autres 70% tu veut quoi ?

A+,Hart
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 sept. 2007 à 18:53
Prépare un tableau du nombre de cases voulues, tu remplis les valeurs imposées, ensuite à chaque random tu vérifies qu'il n'est pas dans les prérequis.

ciao...
BruNews, MVP VC++
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
21 sept. 2007 à 21:44
"Tire" aléatoirement dans un tableau composé de 100 numéros et où chaque numéro est répété autant de fois que tu veux lui assortir un pourcentage de "tirages" possibles.
celà te conduira à un tabelau bien évidemment dimensionné à bien au delà de 100
exemple : si tu veux donner 10 % de chances de titage au numéro 12 ; 25 % de chances au numéro 42 et 1% de chances aux autres numéros : un tabeau de 133 items dont 10 ont le numéro 12, 25 le numéro 42, et tous les autres (donc 98) représentent une seule fois le même numéro.

Mais ma pensée est probablement mal structurée, je suppose ...


Voilà tout...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
22 sept. 2007 à 10:39
Merci pour vos réponses, mais il faut encore cogiter un peu....

Crocejf2000  - le reste c'est nimporte quel chiffre sauf les favoris.

BruNews       - Bon oui ça je sais faire, mais ce qu'il me faut c'est le code qui me sort le chiffre aléatoirement et qui respecte les proportions en % que je désire. Je pourrais par exemple faire un random qui me sort d'abord les favoris en % voulus puis après cela les autres chiffres, mais cela ne ferais pas trop "random".

jmfmarques    - Oui on s'approche du but je vais essayer cela en code pour voir


Pascal Laurençon
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 sept. 2007 à 10:50
pourquoi du random sur les favoris ? tu les veux alors mets les direct, ça gagnera du temps. Ensuite ce sont les favoris à exclure des random tirés.

ciao...
BruNews, MVP VC++
0
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
24 sept. 2007 à 09:40
Julien237  - Ta solution m'intéresse je vais essayé 
                 1) Remplir le tableau avec les numeros favoris selon les % désirés
                 2) Remplir le reste du tableau avec des autres numéros
                 3) faire le mélange
                 4) faire une pioche dans le tableau aléatoirement, avec éventuellement un algoritme qui
                     contrôle la sortie des numéros gagnants pour pas qu'ils sortent trop l'un derrière l'autre.
ça doit le faire

Merci à tous...

Pascal Laurençon
0
Rejoignez-nous