[C]- fonction rand() pas très aléatoire

Résolu/Fermé
Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 - 16 juin 2011 à 18:33
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 20 juin 2011 à 19:51
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.


A voir également:

2 réponses

Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 7
20 juin 2011 à 10:55
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
20 juin 2011 à 19:51
plus efficace peut-être mais moins portable.
M'enfin, si cela te convient, problème résolu :-))).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
Modifié par fiddy le 16/06/2011 à 20:06
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
0