Generer un nombre aleatoire, language c
Résolu
ksta
-
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
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:
- Generer un nombre aleatoire, language c
- Comment générer un qr code - Guide
- Generer mot de passe - Télécharger - Sécurité
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
3 réponses
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é
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.
une variable est un tiroir qui possède une certaine valeur, ce n'est pas une fonction qui refait un calcul à chaque appel.