Generer un nombre aleatoire, language c

Résolu
ksta -  
 ksta -
Bonjour,

J'ai un petit soucis, j'ai cherché sur le forum comment générer un nombre aléatoire et j'ai trouvé ceci :

int u;

srand(time(NULL));
u = rand() %10;


Et effectivement cela fonctionne très bien, j'obtiens bien un nombre aléatoire entre 0 et 10.
Je dois utilisé cette variable plusieurs fois mais malheureusement j'obtiens le même chiffre dans le temps.

Je m'explique : lorsque j'appel u pour lui faire faire des petit calcules un nombre n déterminé, il recommence n fois mes calcules avec le même u. Donc ma valeur u ne deviens plus si aléatoire que ça...

ex : n x u * u
n = 3 & u = 2

il me donne : 2 * 2 = 4
2 * 2 = 4
2 * 2 = 4

Je pourrais utilisé usleep() pour faire donc une pause dans le temp mais mon programme doit travaillé plus vite...
Voilà j'espère avoir été assez claire dans ma question... merci par avance

salutation
A voir également:

3 réponses

cycloop Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   18
 
refais-tu u=rand()%10; à chaque fois ? il le faut. si ce n'est pas ça, je ne vois pas le problème, désolé
1
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
pour préciser ce que dit cycloop si tu n'as pas compris: lorsque tu fais u = qqchose, alors la valeur de u est changée sur le moment, mais ça ne veut pas dire qu'à chaque fois que tu marques "u" dans le programme alors la variable u "serait liée" à rand et redonnerait un nombre aléatoire.

une variable est un tiroir qui possède une certaine valeur, ce n'est pas une fonction qui refait un calcul à chaque appel.
0
ksta
 
merci pour vos réponses, j'ai réussi à regler mon problême il suffisait simplement de mettre ma variable dans une boucle

merci a plus
0