Generation nombre aleatoire sous dev cpp

cs_dionysos Messages postés 14 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 19 juin 2002 - 24 mai 2002 à 12:47
cs_canabix Messages postés 2 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 18 septembre 2008 - 18 sept. 2008 à 17:10
Bonjour,

En c, sous dev cpp, comment generer des nombre de façon aleatoire (entiers) ?
Quelle(s) bibliotheque(s)?
Quelle(s) fonction(s)?
J'ai pensé à random_qquechose dans algo.h, mais c'est pas si simple...

Merci pour votre aide

4 réponses

cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
4 juin 2002 à 15:46
-------------------------------
Réponse au message : #include <stdlib.h>

Fonction rand()
Entre 0 et 10 inclus
rand()%11
-------------------------------

Bonjour,

En c, sous dev cpp, comment generer des nombre de façon aleatoire (entiers) ?
Quelle(s) bibliotheque(s)?
Quelle(s) fonction(s)?
J'ai pensé à random_qquechose dans algo.h, mais c'est pas si simple...

Merci pour votre aide
1
cs_dionysos Messages postés 14 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 19 juin 2002 1
4 juin 2002 à 23:43
-------------------------------
Réponse au message :
-------------------------------
Merci GoldenEye,
ça marche impeccablement.


-------------------------------
Réponse au message : #include <stdlib.h>

Fonction rand()
Entre 0 et 10 inclus
rand()%11
-------------------------------

Bonjour,

En c, sous dev cpp, comment generer des nombre de façon aleatoire (entiers) ?
Quelle(s) bibliotheque(s)?
Quelle(s) fonction(s)?
J'ai pensé à random_qquechose dans algo.h, mais c'est pas si simple...

Merci pour votre aide
1
skone007 Messages postés 166 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 23 juin 2009
13 juil. 2003 à 11:39
Y a bcp plus simple pas ce que ton truk ne m'as pas l'air tres clair

#include <time.h>

void main()
{
int rn; /*nombre aleatoire*/
srand((unsigned) time(NULL)); /*"initialiation du hasard"*/
rn = 1 + rand() % 49; /*là on n'as le loto*/
}
Vision Motion le jeu
VM production
0
cs_canabix Messages postés 2 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 18 septembre 2008
18 sept. 2008 à 17:10
Pas propre d'utiliser les modulo. Ca favorise les nombres faibles.

« Si vous désirez engendrer un entier  aléatoire  entre  1  et  10,  vous  devez  toujours
              procéder en utilisant les bits de poids forts, comme dans :


                     j = 1 + (int) (10.0 * (rand() / (RAND_MAX + 1.0)));


              et jamais ainsi :


                     j = 1 + (rand() % 10);


              (car cette dernière version utilise les bits de poids faibles). »
0
Rejoignez-nous