Générer un nombre aléatoire [C] - C - Programmation
Marsh Posté le 17-12-2006 à 20:47:38
Salut je pense que tu devrais regarder de ce coté http://www.linux-kheops.com/doc/ma [...] and.3.html
Marsh Posté le 17-12-2006 à 20:48:08
#include <math.h>
#include <time.h>
double x;
srand(time(NULL));
x = rand() / 32767.0f;
ça te donne un nombre entre 0 et 1
Marsh Posté le 17-12-2006 à 21:38:41
Merci bcp pour ta réponse mais il y a des choses que je souhaiterai que tu m'expliques
tout d'abord, d'où sors tu la valeur "32767.0f"
Est-ce bien rand que tu rappel pour x?
A quoi sers time.h
Marsh Posté le 17-12-2006 à 22:51:06
Nicotendo a écrit : tout d'abord, d'où sors tu la valeur "32767.0f" |
C'est une erreur. On doit utiliser RAND_MAX qui est défini dans <stdlib.h>
Citation : Est-ce bien rand que tu rappel pour x? |
oui. Ouvre ton livre de C ou une doc sur les fonctions...
http://man.developpez.com
Citation : A quoi sers time.h |
A appeler correctement la fonction time() qui retourne une valeur qui change toutes les secondes, et qui sert à initialiser le générateur pseudo-aléatoire. Ces questions sont basiques et traitées dans un livre de C normal.
Code :
|
http://mapage.noos.fr/emdel/notes.htm#rand
http://mapage.noos.fr/emdel/clib/ed/inc/random.h
Marsh Posté le 17-12-2006 à 23:02:56
ReplyMarsh Posté le 17-12-2006 à 23:13:23
Cap'tain caca a écrit : en même temps 32767.0f et RAND_MAX ça se ressemble hein ... |
Sur ton implémentation peut être. Je préfère écrire du code portable.
Marsh Posté le 17-12-2006 à 20:41:19
FONCTION tirage ():flottant
DEBUT
tirage <- (aleatoire (2001)/1000)-1
FIN
Bonsoir, je souhaiterai passer cette algorithme en C, mais je ne sais pas comment générer un nombre aléatoire.
Merci de votre aide!