Générateur de random paramètrable [Résolu]

Signaler
Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
-
Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012
-
( 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

Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
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.
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008

Salut,

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

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

A+,Hart
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
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++
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
25
"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...
Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012

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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
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++
Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012

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