Nombres aléatoires + et - en C

Seb -  
 Seb -
Bonjour a tous

Voila je cherche une fonction capable de générer des nombres pseudo aléatoires dans un fourchette entre -10 et + 10.
J'utilise la fonction rand pour mes nombres positifs mais je ne sais si elle gère le négatif

Merci d'avance !
Configuration: Windows Vista
Firefox 3.0.6

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    rand() renvoie un nombre pseudo-aléatoire entre 0 et RAND_MAX. Donc, à partir de là, faut réussir à trouver une fonction de réduction dans l'intervalle [-10;10].
    Par exemple, tu peux faire :
    int r;
    srand(time(NULL));
    
    r = (int)(-10 + ((double) rand() * (10 - (-10)) / (RAND_MAX+1.0)));
    

    Cdlt
    0
  2. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    tu peux faire deux tirages de suite :

    - le premier pour la valeur absolue
    - le deuxième pour le signe : il suffit de tester la parité du nombre retourné et de décider qu'elle produira le signe moins, par exemple.
    0
    1. Seb
       
      Merci beaucoup pour vos précieuses infos !
      Je part tester ca :)
      0