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

Résolu
Panda jack Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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   Statut Contributeur Dernière intervention   1 846
 
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