fonction srand()

fonction srand() - C - Programmation

Marsh Posté le 18-12-2008 à 16:43:07    

Bonjour,
 
je veux utiliser la fonction srand() mais je ne comprends pas son initialisation.
 
car je veux faire un srand(8) car je veux qu'il choisisse entre 1 et 8. Que faut-il faire de plus pour que ça marche.
 
 
Merci d'avance.
 
C'est urgent.


Message édité par Elmoricq le 18-12-2008 à 23:45:17
Reply

Marsh Posté le 18-12-2008 à 16:43:07   

Reply

Marsh Posté le 18-12-2008 à 17:03:08    

Il existe plusieurs variantes de srand,() rand() ou random() selon les compilateurs.
Il faut donc se référer à la documentation de son compilateur.
 
Sauf erreur, si c'est Micro$oft Visual C++, alors on obtient un nombre entre 0 et 1 que l'on multiplie par 8 et que l'on arrondi pour avoir un nombre aléatoire entre 0 et 8. Si c'est BorlandC alors on peut directement avoir un nombre entre 0 et 8.

Reply

Marsh Posté le 18-12-2008 à 17:16:51    

srand() et rand() de la mscvrt fonctionne comme partout ailleurs. srand() sert à l'initialisation du générateur pseudo-aléatoire et rand() renvoie un nombre aléatoire entre 0 et RAND_MAX.

Reply

Marsh Posté le 18-12-2008 à 17:26:40    

Il est urgent que tu lises la documentation.

Reply

Marsh Posté le 18-12-2008 à 23:46:23    

"man srand", en ligne de commande si tu es sur un Unix quelconque, ou sur Google sinon, ça marche aussi :

Name
rand, rand_r, srand - pseudo-random number generator
Synopsis

 

#include <stdlib.h>
int rand(void);
int rand_r(unsigned int *seedp);
void srand(unsigned int seed);

 

Description
The rand() function returns a pseudo-random integer between 0 and RAND_MAX.

 

The srand() function sets its argument as the seed for a new sequence of pseudo-random integers to be returned by rand(). These sequences are repeatable by calling srand() with the same seed value.

 

If no seed value is provided, the rand() function is automatically seeded with a value of 1.
[...]

 

En gros, srand() ne génère pas de nombre aléatoire (d'ailleurs, le type de retour de la fonction est "void" ). Cette fonction sert à réinitialiser le générateur de nombres pseudo-aléatoires, en s'aidant du nombre que tu lui fournis.
C'est nécessaire parce que... hmm... tiens, une page wikipédia qui expliquera ça mieux que moi : http://fr.wikipedia.org/wiki/G%C3% [...] %A9atoires


Message édité par Elmoricq le 18-12-2008 à 23:48:36
Reply

Sujets relatifs:

Leave a Replay

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