Générer nombre
jobry
-
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais générer un nombre de 8 chiffres mais le problème c'est que je n'arrive a en générer au maximum que 5 ; je met mon code :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ( int argc, char** argv )
{
srand(time(NULL));
long nombreMystere = 0;
long MAX = 99999999, MIN = 10000000;
int compteur = 0;
do
{
// Génération du nombre aléatoire
nombreMystere = (rand() %(MAX- MIN + 1)) + MIN;
printf("La variable vaut %d\n", nombreMystere);
compteur++;
}while (compteur < 10);
system("PAUSE");
}
je voudrais générer un nombre de 8 chiffres mais le problème c'est que je n'arrive a en générer au maximum que 5 ; je met mon code :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ( int argc, char** argv )
{
srand(time(NULL));
long nombreMystere = 0;
long MAX = 99999999, MIN = 10000000;
int compteur = 0;
do
{
// Génération du nombre aléatoire
nombreMystere = (rand() %(MAX- MIN + 1)) + MIN;
printf("La variable vaut %d\n", nombreMystere);
compteur++;
}while (compteur < 10);
system("PAUSE");
}
A voir également:
- Générer nombre
- Nombre de jours entre deux dates excel - Guide
- Comment générer un qr code - Guide
- Nombre facile - Télécharger - Outils professionnels
- Generer mot de passe - Télécharger - Sécurité
- Comment generer une table de matiere automatiquement - Guide
3 réponses
pardon, il manque un cast en double sinon ça marche pas :
((double) rand()/RAND_MAX * (MAX-MIN+1) ) +MIN
((double) rand()/RAND_MAX * (MAX-MIN+1) ) +MIN
en fait je viens de réaliser qqchose :
de toute façon les nombres sont générés entre 0 et RAND_MAX, et ma technique (et toute autre basée juste sur un appel à rand() d'ailleurs) ne permet que de faire "croire" qu'on a des nombres entre 10000000 et 99999999, mais en fait parmis ceux là il n'y aura que RAND_MAX nombres différents qui seront toujours les mêmes, il y aura plein de nombres qui ne seront jamais utilisés.
si cela a une importance pour ton programme, il faut mieux utiliser une bibliothèque de générateurs de nombres aléatoires plus puissante. je n'en ai pas sous la main, désolé...
de toute façon les nombres sont générés entre 0 et RAND_MAX, et ma technique (et toute autre basée juste sur un appel à rand() d'ailleurs) ne permet que de faire "croire" qu'on a des nombres entre 10000000 et 99999999, mais en fait parmis ceux là il n'y aura que RAND_MAX nombres différents qui seront toujours les mêmes, il y aura plein de nombres qui ne seront jamais utilisés.
si cela a une importance pour ton programme, il faut mieux utiliser une bibliothèque de générateurs de nombres aléatoires plus puissante. je n'en ai pas sous la main, désolé...