[C]- fonction rand() pas très aléatoire [Résolu/Fermé]

Signaler
Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour, j'ai un programme en C a qui je demande de me générer un nombre aléatoire entre 0 et une variable correspondant au nombre de ligne d'un fichier. Seule problème: avec un code comme celui-ci:
srand(time(NULL));
rando= (rand()%nbLigne);//dans ce cas, nbLigne est égale à 7
le nombre générer est toujours 3.
Si quelqu'un a une idée, merci d'avance.


2 réponses

Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
7
Bonjours, j'ai bien importer toute les bibliothèques nécessaire mais rien n'y faisait, j'ai donc remplacer mon:
srand(time(NULL));
par un plus efficace:
srand(rdtsc());
merci quand même de la réponse.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57008 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
plus efficace peut-être mais moins portable.
M'enfin, si cela te convient, problème résolu :-))).
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 688
Bonjour,

Il doit y avoir une erreur autre part car le code est bon.
Avez-vous bien inclu les header (time.h, stdlib.h) ?
A quelle fréquence lances-tu ton programme ? Si tu lances deux fois ton programme à moins d'une seconde d'intervalle, il est normal que le nombre ne change pas.
Peux-tu poster ton code ?

Cdlt,

Google is your friend