C++ random (nbre aléa ) decimal entre 0 et 1

Résolu/Fermé
flute-alors Messages postés 9 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 28 mai 2012 - Modifié par flute-alors le 27/05/2012 à 15:08
flute-alors Messages postés 9 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 28 mai 2012 - 27 mai 2012 à 15:21
Bonjour,
Je suis actuellement en cours de compilation c++ et le random me cause des soucis.

J'aimerai avoir un nombre aléatoire décimal (donc à virgule) compris entre 0 (inclus) et 1 (exclu).

Je me fiche du nombre de chiffre après la virgule parce qu'après j'utiliserai floor pour n'avoir que la partie entière.


Je suis ouverte à toute suggestion !
PS : inutile de me donner des noms de sites où c'est expliquer, j'ai déjà fait beaucoup de recherches et tout ce que j'ai trouvé ne fonctionnait pas...
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
27 mai 2012 à 15:17
"inutile de me donner des noms de sites où c'est expliquer, j'ai déjà fait beaucoup de recherches et tout ce que j'ai trouvé ne fonctionnait pas...". Ce n'est pas très convaincant !

Dans la documentation :

rand : Returns a pseudo-random integral number in the range 0 to RAND_MAX
RAND_MAX : the maximum value returned by the rand function

Il suffit donc de diviser ton nombre par RAND_MAX et le miracle intervient :

double x = (double) rand()/RAND_MAX;
0
flute-alors Messages postés 9 Date d'inscription dimanche 27 mai 2012 Statut Membre Dernière intervention 28 mai 2012 73
27 mai 2012 à 15:21
Merci !! ça fonctionne !
j'avais trouver un truc du genre sur un site mais ça ne fonctionnait pas.
Je me suis mise au c++ vendredi soir et je ne me suis arrêtée que pour manger ou dormir donc là je commence à bien maitriser mais le random me résistait (et me résiste toujours...) mais pour le moment ça suffit pour mon algorithme.
Merci beaucoup !
0