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 !

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
blux Messages postés 27132 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
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
Seb
 
Merci beaucoup pour vos précieuses infos !
Je part tester ca :)
0