Nombre aléatoire réel en C

Fermé
eric - 22 déc. 2009 à 15:54
 le père - 22 déc. 2009 à 16:28
Bonjour,
Je cherche l'instruction permettant de me créer un nombre aléatoire réel entre 0 et 7 exclus, j'ai écrit l'instruction suivante:

rand()*(7/RAND_MAX);

et ça ne me retourne que des 0.00, est ce normal?

merci
A voir également:

2 réponses

Bonjour

Oui c'est normal.
7 est un entier et RAND_MAX aussi. Quand tu fais (7/RAND_MAX), c'est une division d'entier, le résultat est 0.
Pour avoir un 'bon' résultat tu peux faire
(rand()*7)/RAND_MAX
0
salut père, ça ne change rien , ton code ne renvoie que des 0.00 :)
0
Bien sûr, j'ai laissé des entiers ...
Il fallait lire (rand()*7.0)/RAND_MAX

(le 7.0 au lieu de 7 force les opérations en flottant)
0