nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
14 janv. 2006 à 22:13
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 2013
-
15 janv. 2006 à 18:27
Bonjour, j'ai un petit problème : dans un programme , pour générer un nombre aléatoire je fais ceci :
int n,max=50,liste[15];
for(i=0;i<15;i++) {
srand(time(0));
liste[i] = (rand() % max);
}
// On affiche la liste
et le seul problème c'est que si je lance le programme deux fois avec un intervalle très réduit (1 a 2 secondes), ca m'affiche deux fois la meme liste : il y a un problème avec la fonction aléatoire.
ctx_man
Messages postés285Date d'inscriptionmardi 28 décembre 2004StatutMembreDernière intervention20 janvier 20133 15 janv. 2006 à 02:50
Si tu veux changer ton srand dans un intervalle inferieur à 1 seconde, il vaut mieux utiliser un truc genre GetTickcount() qui renvoit le nombre de ms écoulées depuis le démarrage du system.
int n, max=50, liste[15];
srand(GetTickCount()); //le srand doit pas etre fait avant chaque rand()
//mais plutot avant chaque liste de nombre aleatoire.
for(i=0;i<15;i++)
{
liste[i] = (rand() % max);
}