Random en c++

seer -  
 moh -
bonjour a tous;
je souhaite connaitre comment génèrer un nombre aléatoire dans un intervale donné (entre 2 nombres) en C++ builder 6.
merci d'avance.

10 réponses

  1. random Messages postés 1612 Statut Membre 155
     
    la fonction random renvoie un nombre compris entre 0 et 1
    si tu veux générer un nombre entre 712 et 752 l'étendue est 40
    il faut donc utliser
    712 (base) + (40*random())
    1
  2. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    Et puis l'ami Pom ta déjà donné la réponsed sur ton premier post, alors va voir...

    ++
    0
  3. Luffy =)
     
    Mais la fonction random() ne génère-t-elle pas un nombre PSEUDO-aléatoire ?
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      Si si mais ... chhuuuut... faut pas l'dire trop fort ;)


      (Pour y remédier, il faut initialiser le random avec une graine définié en fonction du temp système)


      ++
      0
      1. Luffy =) > kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention  
         
        lol =)

        c'est bien ce qui me semblait. bon je ne le dirais plus c'est promis ;-)
        0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. seer
     
    merci a tous
    la fonction random() génère un nombre aléatoire entre 2 nombres (comme il a indiqué random) mais c que elle génère a chaque fois les memes nombres(apres l'execution du pg) mais c pas grave, ça me suffi et merci encore.
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      C'est pour ca qu'on te dit d'utiliser srandom avec un graine basée sur le temps system.
      La syntaxe doit être un truc du genre :
      i = ??? // Ici tu chope ke temps system ou tu met un nombre qqconque.
      srand(i);

      ou alors, tu utilise randomize() qui se base sur le temps system directement.

      Et bien sur tu n'oublie pas le #inclkude <stdlib.h>

      et tu utilise ton rand() ensuite comme tu le fais déjà.

      @+
      0
  6. SKZ
     
    Attention, Kij, même initialiser la graine ne change rien au fait que le nombre est PSEUDO-aléatoire. En celà qu'il est calculé par un algorithme, donc éventuellement prévisible. Celà peux, dans certain cas "extrème" générer des interférences avec le programme qui utilise cet algo.
    Ce genre de comportement est rare, mais peux arriver dans le cas où le programme utilise un nombre impréssionnant de valeurs aléatoire.
    En effet, le nombre fini de valeurs possible pour une variable entraine fatalement que l'algo de génération des valeurs, qui se base sur les N dernières valeurs "tirées" va boucler à un moment ou à un autre. La plupart du temps N=2 est suffisant.

    Le seul moyen connu pour générer véritablement du vrai hasard est d'utiliser un générateur quantique : un photon émis passe une parois réfléchissante de coéf 1/2. C'est à dire qu'il a 1 chance sur deux d'être réfléchi, ou de passer.
    En fonction de là où on le détecte, on renvoit un 1 ou un 0.
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      C'est vrai. Bah au moins il aura eu une vue globale du problème cette fois. :)

      ++
      0
    2. random Messages postés 1612 Statut Membre 155
       
      quand au fait que les suites soient pseudos aléatoires
      la plupart du temps ce n'est gênant que conceptuellement
      0
  7. Skyba
     
    Il est aussi possible d'écrire toi meme ta fonction random mais le problème ne change pas le fait que ca restera du pseudo aléatoire vu que finalement ta fonction random reste une fonction ;)
    0
  8. Skyba
     
    Il est aussi possible d'écrire toi meme ta fonction random mais le problème ne change pas le fait que ca restera du pseudo aléatoire vu que finalement ta fonction random reste une fonction ;)
    0
  9. shakal93 Messages postés 4 Statut Membre
     
    je voulais savoir comment utiliser rand en C
    0
  10. moh
     
    salut à tous,moi étudiant en informatique ;je cherche sur le code source de fonction rand() sous linux merci d'avance
    0