Générer un nombre aléatoire [C/C++] - C++ - Programmation
Marsh Posté le 03-11-2002 à 21:20:27
Tu aurais du y penser toi même
rand() % N -> resultat : un élément de l'ensemble {0,1,...,N-1}
Marsh Posté le 03-11-2002 à 21:21:48
Il y a pas plustot un rand qui retourne un float/double entre 0 et 1 ? Parceque la, rand c'est limité à produire des entiers pour ainsi dire.
Marsh Posté le 03-11-2002 à 23:20:06
/* Exemple de génération de nombre alétoires */
/* ----------------------------------------- */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int haz(int nbr); /* Déclaration sous-fonction de génération */
int main () /* Fonction principale */
{
int nb;
long seed=time(NULL); /* Initialisation des nombres aléatoires */
srand48(seed);
printf("Entrez valeur max du nombre à générer: " );
scanf("%d",&nb);
printf("\n" );
while (1)
{
printf("%d ",haz(nb));
}
return(0);
}
int haz(int nbr) /* Sous-fonction de génération */
{
return (int)((nbr+1)*drand48()); /* génération d'un nombre aléatoire entre 0 et nbr */
}
Marsh Posté le 04-11-2002 à 00:20:42
Chouette, je connaissais pas !
Mais un tour dans le man me dit que ces fonctions ( drand48 et compagnie ) sont obsoletes
il ne reste donc que un bon vieux (float(rand()) / RAND_MAX) alors.
Marsh Posté le 03-11-2002 à 18:07:32
Salut,
Générer un nombre aléatoire avec rand, ok, mais comment faire pour que le nombre généré appartienne à un ensemble du genre [0;6] ?
merci
ANT