Bonjour,
L'autre jour, j'ai eu un petit soucis avec ces deux fonctions.
En effet, il me fallait un nombre aléatoire compris entre 0 et 4 (pour un bête test, pas dans un gros programme donc).
J'ai donc un code du style :
... et je me retrouve toujours avec la même valeur de i !
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Si par contre j'écris :
... j'ai toujours le même nombre en premier, mais les autres changent d'une exécution à l'autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Si j'affiche juste rand() :
... ça me donne : 14010, 14039, 14066, ... Pas si aléatoire que ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Je ne sais pas exactement comment fonctionnent rand() et srand(), mais je crois que srand() définit la première valeur de rand(), qui sert ensuite à calculer la suivante, et ainsi de suite.
J'aurai cru que la valeur donnée à srand() était un peu comme un indice dans un tableau de nombre aléatoires, mais il semblerai qu'il y ait une relation linéaire entre la valeur donnée à srand() et la première valeur de rand()...
C'est intentionnel ? (je ne trouve pas ça très malin, m'enfin il doit y avoir une raison)
Quelle valeur je devrais donner à srand() pour éviter ça ?
Merci d'avance pour vos conseils.
Edit : j'utilise gcc.

 

 
		
		 
         
  
			
			

 
  
 
 
   
 


 rand() et srand()
 rand() et srand()
				
 Répondre avec citation
  Répondre avec citation
 
			 
   

 Envoyé par Goten
 Envoyé par Goten
					

 
						 
			 
						


 
 
 
			 
			
Partager