[C] Générer un nombre aléatoire

Générer un nombre aléatoire [C] - C - Programmation

Marsh Posté le 17-12-2006 à 20:41:19    

Citation :

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!

Reply

Marsh Posté le 17-12-2006 à 20:41:19   

Reply

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

Reply

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

Reply

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

Reply

Marsh Posté le 17-12-2006 à 22:03:22    

quelqu un dautre?

Reply

Marsh Posté le 17-12-2006 à 22:11:23    

non [:darkmavis xp]

Reply

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 :
  1. #include <stdlib.h>
  2. #include <time.h>
  3. {
  4.    /* une seule fois dans toute l'application (1ere fonction du main(), par exemple) */
  5.    srand(time(NULL));
  6. /* tirage pseudo aleatoire entre 0 et 2000 autant de fois que l'on veut. */
  7.    double x = (2001 * rand())  / RAND_MAX;
  8. }


 
http://mapage.noos.fr/emdel/notes.htm#rand
http://mapage.noos.fr/emdel/clib/ed/inc/random.h


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 17-12-2006 à 23:02:56    

en même temps 32767.0f et RAND_MAX ça se ressemble hein ...

Reply

Marsh 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.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed