| Nombres Aléatoires | |
|
|
Auteur | Message |
---|
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Nombres Aléatoires Lun 6 Aoû - 20:20 | |
| Pour générer des nombres aléatoires if faut tapez: - Code:
-
srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
La première ligne (avec srand) permet d'initialiser le générateur de nombre aléatoires. nombreMystere est une variable qui contiendra le nombre au hasard. Attention:
L'instruction srand ne doit être exécutée qu'une seule fois (au début du programme). Il faut obligatoirement faire un srand une fois, et seulement une fois. Vous pouvez ensuite faire autant de rand() que vous voulez pour générer des nombres aléatoires. Mais il ne faut PAS que l'ordinateur lise l'instruction srand 2 fois par programme, ne l'oubliez pas. MAX et MIN sont des constantes RMQ:Il faut utiliser la bibliothèque <time.h> | |
|
| |
Admin Administrateur
Nombre de messages : 232 Age : 36 Localisation : A COTé 2MON PC Loisirs : KUNG FU Date d'inscription : 05/03/2007
| Sujet: Re: Nombres Aléatoires Mar 7 Aoû - 22:49 | |
| tres bien mais je souhaite que tu nous donnes un programme complet qui utilise cette fonction moi je vais faire un si le temps me permet | |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Jeu version 1 Mer 8 Aoû - 14:50 | |
| Voila un programme(c'est un jeu) qui utilise les nombres aléatoires. Tous d'abord je veux dire que j'ai trouvé l'idée (et pas le programme-code-) dans un site. --L'ordinateur tire au sort un nombre entre 1 et 100 --Il vous demande de deviner le nombre. Vous rentrez donc un nombre entre 1 et 100 --L'ordinateur compare le nombre que vous avez rentré avec le nombre "mystère" qu'il a tiré au sort. Il vous dit si le nombre mystère est supérieur ou inférieur à celui que vous avez entré --Puis, l'ordinateur vous redemande le nombre. ... Et il vous indique si le nombre mystère est supérieur ou inférieur. Et ainsi de suite, jusqu'à ce que vous ayez trouvé le nombre mystère. Je pense que avez compris le principe de jeu... (Allez au travail...sans regarder le code au-dessous)... Ici dans ce programme le nombre mystère est la varaible b, et le nombre que vous avez entré est la variable a... Enfin je suis trés intréssant au programmation des jeux... Alors, j'espère que vous m'envoyer des idées pour améliorer ce jeu plus plus... - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char *argv[]) { const long max=100,min=1; int a,b=0; srand(time(NULL)); a=(rand()%(max-min+1))+min; do { printf("Quel est le nombre ? "); scanf("%ld",&b); if (b<a) printf("C'est plus \n"); else if (b>a) printf("C'est moins \n"); } while (a!=b); printf("Bravon Vous avez trouve le nombre mystere !!!\n"); system("PAUSE"); return 0; }
| |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Jeu version 2 Mer 8 Aoû - 16:37 | |
| Dans Cette version j'ai ajouté un compteur, qui compte combien tu vas essayer pour trouvé le nombre... - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char *argv[]) { const long max=100,min=1; int a=0,b=0,coup=0; srand(time(NULL)); a=(rand()%(max-min+1))+min; do { printf("Quel est le nombre ? "); scanf("%ld",&b); coup++; if (b<a) printf("C'est plus \n"); else if (b>a) printf("C'est moins \n"); } while (a!=b); printf("Bravon Vous avez trouve le nombre mystere en %ld coup!!!\n",coup); system("PAUSE"); return 0; }
| |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Jeu Version 3 Mer 8 Aoû - 20:07 | |
| Dans cette version, j'ai utilisé une boucle entour de tous le programme, l'utilité de cette boucle est de questionner le joueur s'il veut jouer une autre partie, et il va répond par o)ui (jouer une autres partie) on n)on (sortir du jeu)... - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char *argv[]) { char r; do { const long max=100,min=1; int a=0,b=0,coup=0; srand(time(NULL)); a=(rand()%(max-min+1))+min; do { printf("Quel est le nombre ? "); scanf("%ld",&b); coup++; if (b<a) printf("C'est plus \n"); else if (b>a) printf("C'est moins \n"); } while (a!=b); printf("Bravon Vous avez trouve le nombre mystere en %ld coup!!!\n",coup); printf("Jouer une autres fois ?"); scanf("%ls",&r); } while (r!='n'); system("PAUSE"); return 0; }
| |
|
| |
Admin Administrateur
Nombre de messages : 232 Age : 36 Localisation : A COTé 2MON PC Loisirs : KUNG FU Date d'inscription : 05/03/2007
| Sujet: Re: Nombres Aléatoires Mer 8 Aoû - 22:59 | |
| tres bien mais s.t.p quand les membres veulent complier ce programme sous borland c il ne sera pas etre compilé alors teste tes programmes sous borland c avant les poster parce que la majorité utilise ce compilateur | |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Compil Jeu 9 Aoû - 19:44 | |
| Non, Il suffit juste de enlever l'instruction - Code:
-
system("pause") pour que le programme marche sous BORLAND C++ | |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Jeu version 4 Jeu 9 Aoû - 19:46 | |
| Jeu aux niveaux - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int main(int argc, char *argv[]) { char r; do { int niveau=0,max=0,min=1; printf("Choisissez le niveau :\n"); printf("1.NIVEAU 1 (entre 1 et 100)\n"); printf("2.NIVEAU 2 (entre 1 et 1000)\n"); printf("3.NIVEAU 3 (entre 1 et 10000)\n"); scanf("%ld",&niveau); switch (niveau) { case 1: max=100; break; case 2: max=1000; break; case 3: max=10000; break; } int a=0,b=0,coup=0; srand(time(NULL)); a=(rand()%(max-min+1))+min; do { printf("Quel est le nombre ? "); scanf("%ld",&b); coup++; if (b<a) printf("C'est plus \n"); else if (b>a) printf("C'est moins \n"); } while (a!=b); printf("Bravon Vous avez trouve le nombre mystere en %ld coup!!!\n",coup); printf("Jouer une autres fois ?"); scanf("%ls",&r); } while (r!='n'); system("PAUSE"); return 0; }
| |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Jeu version 5 Jeu 9 Aoû - 19:47 | |
| L'utilisation du fonction non-prototype pour générer les nbrs aléatoires - Code:
-
#include <stdio.h> #include <stdlib.h> #include <time.h>
int genere(int max,int min) { int a0=0; srand(time(NULL)); a0=(rand()%(max-min+1))+min; return a0; } int main(int argc, char *argv[]) { char r; do { int niveau=0,max=0,min=1; printf("Choisissez le niveau :\n"); printf("1.NIVEAU 1 (entre 1 et 100)\n"); printf("2.NIVEAU 2 (entre 1 et 1000)\n"); printf("3.NIVEAU 3 (entre 1 et 10000)\n"); scanf("%ld",&niveau); switch (niveau) { case 1: max=100; break; case 2: max=1000; break; case 3: max=10000; break; } int a=0,b=0,coup=0; a=genere(max,min); do { printf("Quel est le nombre ? "); scanf("%ld",&b); coup++; if (b<a) printf("C'est plus \n"); else if (b>a) printf("C'est moins \n"); } while (a!=b); printf("Bravon Vous avez trouve le nombre mystere en %ld coup!!!\n",coup); printf("Jouer une autres fois ?"); scanf("%ls",&r); } while (r!='n'); system("PAUSE"); return 0; }
| |
|
| |
chaouge soldat
Nombre de messages : 22 Age : 36 Localisation : my town Loisirs : leisure Date d'inscription : 28/11/2007
| Sujet: Re: Nombres Aléatoires Jeu 29 Nov - 0:15 | |
| - Benayada Houari a écrit:
- Pour générer des nombres aléatoires if faut tapez:
- Code:
-
srand(time(NULL)); nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
La première ligne (avec srand) permet d'initialiser le générateur de nombre aléatoires. nombreMystere est une variable qui contiendra le nombre au hasard. Attention: L'instruction srand ne doit être exécutée qu'une seule fois (au début du programme). Il faut obligatoirement faire un srand une fois, et seulement une fois. Vous pouvez ensuite faire autant de rand() que vous voulez pour générer des nombres aléatoires. Mais il ne faut PAS que l'ordinateur lise l'instruction srand 2 fois par programme, ne l'oubliez pas. MAX et MIN sont des constantes RMQ:Il faut utiliser la bibliothèque pourquoi on a mis (max - min + 1) + min ? | |
|
| |
Admin Administrateur
Nombre de messages : 232 Age : 36 Localisation : A COTé 2MON PC Loisirs : KUNG FU Date d'inscription : 05/03/2007
| Sujet: Re: Nombres Aléatoires Jeu 29 Nov - 23:03 | |
| tu peut mette se que tu veut mais en met cette fonction pour mettre les choses un peut difficile(pour que le joueur ne peut pas deviner la truck facilement avec +eurs fois) | |
|
| |
Benayada Houari Administrateur
Nombre de messages : 89 Age : 37 Localisation : Chlef Loisirs : Sport Date d'inscription : 14/03/2007
| Sujet: Re: Nombres Aléatoires Ven 30 Nov - 20:28 | |
| Slt chaougePour ta question sur la fonction rand(), je t'explique: La fonction rand() retourne un numéro aléatoire entre : 0 et 32767, et pour vérifier, essayer ce code: - Code:
-
printf("%d",RAND_MAX); Ok, notre nombre alors est entre 0 et 32767, mais on veut le limiter par exmple entre MIN et MAX (par exemple MIN=5 et MAX=10, ou MIN=5 et MAX=100, comme tu veux...), Alors on fait l'opération MODULO ( % ), - Code:
-
printf("%d",rand()%MAX); pour ne pas dépasser MAX que l'on a fixer au-dessus, si le nombre dépasse le MAX il revient au 0... Bien, mais notre domaine est [MIN=5 , MAX=10], et pas [0 , MAX=10], alors on ajoute MIN à la formule : - Code:
-
printf("%d",rand()%MAX+MIN); Bien Bien,mais si tu regarde le code, on a génère un problem comme ça, notre domaine maitenant est [MIN , MAX+MIN], cad le MAX est décalé MIN fois a droite, cad notre domaine maitenant est [MIN=5 , MAX=10+MIN], mais on veut [MIN=5 , MAX=10], que ce qu'on faire à votre avis?, alors nous allons soustracter de MAX la valeur que l'on a ajoutée, et on obtient à la fin notre domaine [MIN=5 , MAX=10+MIN-MIN] ===> [MIN=5 , MAX=10] - Code:
-
printf("%d",rand()%(MAX-MIN)+MIN); PS: Comme ça le programme génère des nombres entre MIN et MAX-1, Alors on ajoute +1 - Code:
-
printf("%d",rand()%(MAX-MIN+1)+MIN; Exemple:Nous voulons créer un programme génère un nombre aléatoire entre 50 et 100 alors: MIN=50, MAX=100 - Code:
-
printf("%d",rand()); /* Le code génère un nombre entre 0 et 32767 */ - Code:
-
printf("%d",rand()%MAX); /* Le code génère un nombre entre 0 et MAX-1 (de 0 à 99)*/ - Code:
-
printf("%d",rand()%MAX+MIN); /* Le code génère un nombre entre MIN et (MAX-1)+MIN (de 50 à 149) */ - Code:
-
printf("%d",rand()%(MAX-MIN)+MIN ); /* Le code génère un nombre entre MIN et (MAX-1) (de 50 à 99) */ - Code:
-
printf("%d",rand()%(MAX-MIN+1)+MIN); /* Le code génère un nombre entre MIN et MAX (de 50 à 100) */ ET TOUT CA N'OUBLIE PAS D'INCLURE LA LIBRAIRIE time.h | |
|
| |
chaouge soldat
Nombre de messages : 22 Age : 36 Localisation : my town Loisirs : leisure Date d'inscription : 28/11/2007
| Sujet: Re: Nombres Aléatoires Ven 30 Nov - 22:18 | |
| jazaka allahou khairan Benayada Houari | |
|
| |
Contenu sponsorisé
| Sujet: Re: Nombres Aléatoires | |
| |
|
| |
| Nombres Aléatoires | |
|