Fonction random sur le type double de 1.0 jusqu'a double last

cs_tajushile Messages postés 2 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 22 avril 2010 - 22 avril 2010 à 15:19
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 23 avril 2010 à 09:26
Bonjour
j'ai besoin de créer une fonction pour générer aléatoirement des valeur

du type double: j'ai fais le bout de code suivant:
------------------------------------------------------------------------
double Generer_Nombre()
{
double valeurMax = sizeof(double);
double valeurMin = 1.0;

static bool Initialiser_Generateur = true;


if(Initialiser_Generateur)
{
srand(time( NULL ));
Initialiser_Generateur = false;
}

return (rand () % (valeurMin - valeurMax + 1) +valeurMin);

}

Generer_Nombre();
---------------------------------------------------------------

mais j'ai une erreur :
expected constructor, destructor, or type conversion before ';' token

merci pour votre aide

3 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
22 avril 2010 à 17:43
tu appelles ta fonction dans le vide !!

sizeof(double) = 8.0
donc ton résultat est :
rand () % (1.0 - 8.0 + 1) +1.0);
0
cs_tajushile Messages postés 2 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 22 avril 2010
22 avril 2010 à 20:43
enfaite je voudrais parcourir depuis 1.0 jusqu'à double limite

comme ca je génère des valeurs aléatoires. merci
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
23 avril 2010 à 09:26
double r = (double)rand() / ((double)(RAND_MAX)+(double)(1)) ; // tu as un nombre entre 0 et 1.
apres tu multiples par la valeur max
c'est qq chose comme 1.7976931348623158e+308
0
Rejoignez-nous