IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Générer un réel aléatoire


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut Générer un réel aléatoire
    Bonjour,
    Je n'ai fait qu'un semestre de programation en C++, mais dans mes cours de probabilitées, nous étudions la théorie des jeux, et afin de faire une simulation j'aurais besoin d'une fonction qui puisse me générer une réel aléatoire entro 0 et 1.
    Je connais la fonction rand, mais je ne sais pas vraiment comment la manipuler. Si quelqu'un pouvait m'aider ce serait vraiment sympa, merci d'avance.

  2. #2
    Membre confirmé Avatar de sopsag
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 224
    Par défaut
    Le truc ultra simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <stdlib.h>
    double x = (double)rand() / (double)RAND_MAX ;
    Voilà, x prendra sa valeur entre 0 et 1 inclus.
    Ce n'est même pas du c++

    Sinon, je peux te retrouver au fond de mes cartons un code mega balaise qui génère de réels aléatoires respectant toutes sortes de lois de distribution...

    Hadrien

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Merci bien.
    Est-ce que je doit affecter la valeur 1 à RAND_MAX?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Non, RAND_MAX est une macro définie comme l'entier maximum pouvant être retourné par rand().

    Mais attention, c'est toujours le même entier qui est retourné si tu n'initialises pas le générateur (srand) et rand() est un générateur aléatoire faible.

    Et ce n'est pas stdlib.h, mais cstdlib si on fait du C++.

    Sinon, je peux te retrouver au fond de mes cartons un code mega balaise qui génère de réels aléatoires respectant toutes sortes de lois de distribution...
    Pas la peine, il y a Boost pour tout ça.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Merci beaucoup, j'ai pu réaliser ma simulation cela marche impec'

Discussions similaires

  1. Comment générer des nombres reéls aléatoires ?
    Par rzmadjid dans le forum Langage
    Réponses: 16
    Dernier message: 21/02/2008, 17h14
  2. Réponses: 16
    Dernier message: 08/03/2006, 11h18
  3. Besoin de générer une chaine aléatoire
    Par warsky dans le forum Langage
    Réponses: 7
    Dernier message: 01/12/2005, 19h34
  4. générer un nombre aléatoire gaussien
    Par kayari dans le forum Probabilités
    Réponses: 9
    Dernier message: 24/05/2005, 23h57
  5. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo