La fonction

walid -  
 Pacorbanix -
Bonjour,

EST CE QUE VOUS POUVEZ M4EXPLIQUER cette fonction svp, Srand ?
int rand_ab (int a, int b){
int valeur;
srand (time(null));
val=rand()%(b+1);
while (valeur<a){
valeur=rand()%(b+1);
return valeur;
}
A voir également:

3 réponses

tadwarte Messages postés 12 Statut Membre 17
 
salut j'ai pas bien compris cette fonction mais voici un site qui peut t'aider : https://nicolasj.developpez.com/articles/libc/hasard/#LII-A
0
tadwarte Messages postés 12 Statut Membre 17
 
salut j'ai pas bien compris cette fonction mais voici un site qui peut t'aider : https://nicolasj.developpez.com/articles/libc/hasard/#LII-A
0
Pacorbanix
 
en fait c'est pour générer des nombres aléatoires réalistes.

Un ordinateur ne sait pas faire de hasard.

En fait, si tu ne met pas srand() dans ton programme, et que tu l'exécute 100 fois, tu auras 100 fois exactement les même valeurs ! Car rand utilises en fait une formule spéciale, qui génère des nombres PSEUDO-aléatoires (qui ont l'air aléatoires mais qui ne le sont pas en fait.

Mais cette fonction a besoin d'un nombre de départ. Avec srand() on change se nombre de départ. Si on lui donne l'heure machine comme nombre de départ (srand(time(null)), le temps est différent àé chaque fois que tu lances le programme, et alors les nombres générés pèar rand() auront l'air complètement aléatoires car différents à chaque fois.

Si tu faisais srand (5) par exemple, et que tu essayes ton programme 100 fois, tu obtiendras 100 fois le même résultat. Si tu fais srand(4) tu obtinedra aussi 100 fois le même résultat (mais différent de celui avec srand(5) ).

C'est clair ?
0