
Envoyé par
Loïc M
Sans rentrer dans le détail par début rand va te sortir une suite de nombre aléatoire mais qui seront toujours les mêmes . Donc pour évider cela et avoir un vrai nombre aléatoire on utilise srand qui permet d'initialiser le générateur de nombres aléatoire avec la valeur de time (qui sera différente à chaque exécution du programme).
Cette méthode comporte un petit bug potentiel => si tu lances le programme dans deux shells parallèles (je parle ici d'implémentation Unix/Linux) en même temps ben le time étant le même pour les deux processus, les deux programmes sortiront les mêmes nombres en parallèle.
On peut améliorer l'initialisation en y introduisant le n° de processus en cours
srand(time(NULL) ^ getpid());
Partager