ALGO

Fermé
lylas13 Messages postés 5 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008 - 13 nov. 2008 à 21:34
 BoOst - 13 nov. 2008 à 23:16
AIDEZ-MOI SVP,J'ai un exercice de programmation que je n'arrive pas à résoudre.le sujet est:<<écrire l'algorithme d'un jeu qui se joue à 2.l'un rentre un nombre et doit rechercher ce nombre en fonction de l'intervalle choisi par celui qui rentre un nombre supérieur au nombre rentré,l'algorithme doit lui demander un nombre plus grand et inversement.si le nombre est égal au nombre rentré,on affiche "SUCCÈS" et on indique le nombre de choix que la recherche a été ratée. Merci de bien vouloir m'aider
A voir également:

5 réponses

Salut,

Le sujet n'est pas très clair mais je pense avoir compris le principe :)

En gros :

1) demander au jour 1 de saisir un chiffre, a l'aide d'une fonction de saisie de texte par exemple, puis stocker le resultat dans une variable
2) initialiser une variable compteur a 0
3) demander au joueur 2 un nombre et le stocker aussi dans une variable
4) tester si le nombre rentré est plus grand que le nombre de reference, si oui afficher "trop grand !" et incrementer le compteur, puis recommencer a l'etape 3
5) tester si le nombre rentré est plus petit que le nombre de reference, si oui afficher "trop petit !" et incrementer le compteur, puis recommencer a l'etape 3
6) afficher le message "trouvé !" puis la variable compteur qui indiquera le nombre d'essai

Pour t'aider, utilise tu un language de programmation en particulier ?
Si oui dit le, qu'on transcrive cette logique en code :)
0
lylas13 Messages postés 5 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 22:16
Merci d'avoir répondu,j'utilise le langage C et C++.
0
ok, tu a deja appris quelques trucs (boucle, variables, conditions) ? ou pas du tout ? ;

c'est loin pour moi, mais ca doit ressembler au code ci-dessous.
il faudrait dire sur quel plateforme tu travaille (windows, VC++ par exemple, ou linux, etc..),
car les fonctions d'affichage par exemple peuvent changer.

Il faudrait rajouter un truc qui efface l'ecran, je ne sais plus comment faire, si quelqu'un a une idée !
parceque sinon c'est pas très pratique pour jouer ;)



#include <iostream>
using namespace std;

int main ()
{
  int nombre_mystere;
  int nombre2;
  int compteur = 0;

  printf ("Joueur 1, Entrez le nombre mystère : \n");
  cin >> nombre_mystere;

 do {
    printf (" Joueur 2, Entrez un nombre : \n");
    cin >> nombre2;
    
     if (nombre2 < nombre_mystere) {
        printf (" Trop grand ! essayez encore ! \n");
        compteur++;
     }
     if (nombre2 > nombre_mystere) {
        printf (" Trop petit ! essayez encore ! \n");
        compteur++;
     }

  } while (nombre2 != nombre_mystere);

  printf (" Bravo, vous avez trouvé en %d essais ! \n", compteur);
}



Bon courage, en esperant t'avoir aidé(e) !
0
lylas13 Messages postés 5 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 22:55
je travaille sur VC++,je te remercie du fond du coeur de ton aide.merci encore.
0
j'ai inversé, voici le code corrigé et commenté :

// on declare les elements indispensables pour notre programme au compilateur C++
#include <iostream>
using namespace std;


int main ()
{
 // on declare les variables que l'on va utiliser par la suite
  int nombre_mystere;
  int nombre2;
  int compteur = 0;

  // on demande au joueur 1 le nombre mystère et on le stocke dans la variable "nombre_mystere"
  printf ("Joueur 1, Entrez le nombre mystère : \n");
  cin >> nombre_mystere;

 // *** on commence un boucle
 do {
    // on demande au joueur 2 un nombre et on le stocke dans la variable "nombre2"
    printf (" Joueur 2, Entrez un nombre : \n");
    cin >> nombre2;
    
     // si trop grand, on affiche un message et on incrémente le compteur
     if (nombre2 > nombre_mystere) {
        printf (" Trop grand ! essayez encore ! \n");
        compteur++;
     }
     // si trop petit, on affiche un message et on incrémente le compteur
     if (nombre2 < nombre_mystere) {
        printf (" Trop petit ! essayez encore ! \n");
        compteur++;
     }

     // *** on quitte la boucle uniquement si les chiffres sont exacts, sinon on reviens au "do {"
  } while (nombre2 != nombre_mystere);

  // on affiche le resultat
  printf (" Bravo, vous avez trouvé en %d essais ! \n", compteur);
}


0
lylas13 Messages postés 5 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 23:06
c'est vraiment super,je te dois une fière chandelle,merci encore.je vais le tester demain,et te ferai signe.biens de choses
0
de rien, si je peut aider..
dit moi si ca compile parceque j'ai surement fait une erreur quelque part ;)

si tu n'y comprends rien, je te conseille ce lien car en generak ce site fait des bons tutoriaux pour les debutants. :
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c

une fois la base acquise (variables, structures de controles, fonctions,..) ca ira mieux et tu commencera a t'amuser ;)
0
lylas13 Messages postés 5 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 23:15
je vais tester le code demain et je te ferai part du résultat,merci pour le tuyau.c'est génial.coucous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
miam, merci j'avais faim :)
bon courage ++
0