Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conteneur

Need help

    16 septembre 2019 à 16:31:59

    Bonjour,

    je suis débutant en c++ et on vient de me proposer cette exercice pour débutant mais je n'ai pas du tout compris comment faire.

    Voici l'exercice :

    Pour résumer, vous devez faire deux classes pour représenter une liste chaîne (simple, double ou autre selon votre envie). La première que nous nommerons liste_item qui représentera les différentes cellules. Et la classe liste qui sera le conteneur à la structure. Les opérations minimales sont : l'ajout d'un élément (fonction unaire nommée add) ; la taille de la liste nommée size ; la possibilité de nettoyer la liste (fonction sans argument clear)et enn l'accès à la i e cellule (fonction unaire get qui renvoie un entier). 

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2019 à 16:46:27

      Tu dois écrire 2 classes:
      - une qui représente une liste chainée (simplement ou doublement, c'est toi qui choisit)
      - une qui représente les chainons (usuellement appelés "node" en anglais, et qui ont un sens plus large) qui constituent la liste.

      En général, dans les désigns, la notion de chainon est totalement invisible pour l'utilisateur. Il n'a pas à savoir que ça existe. Et on te demande à ce que le code suivant fonctionne

      List l; // on va parler anglais du début jusqu'à la fin tant qu'à faire, et ne pas mélanger "liste" et "add"
      
      l.add(5);
      l.add(8);
      std::cout << l.size() << "\n"; // qui doit afficher 2
      std::cout << l.get(1) << "\n"; // qui doit afficher 8
      
      l.clear();
      std::cout << l.size() << "\n"; // qui doit afficher 0

      A toi de te débrouiller pour te ça compile et que cela donne les résultats attendus.

      (après, on peut chipoter que ni get ni add ne sont unaires, mais bien binaires (car ils prennent une liste en 1er paramètre invisible), et que list::get(index) est une mauvaise conception, mais c'est un exercice après tout!)
      (Je rêve, où c'est à la mode les exos sur les listes?)

      -
      Edité par lmghs 16 septembre 2019 à 16:52:21

      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        16 septembre 2019 à 17:01:31

        Merci beaucoup mais le problème est que je ne vois pas du tout comment crée et écrire  les deux classes?
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2019 à 17:21:49

          Relis le(s) chapitre(s) des cours que tes profs t'ont donnés sur l'écriture des classes.Tu auras aussi besoin d'allocation dynamique et de manipuler des pointeurs pour lier des chainons entre eux.

          Même si on sait résoudre ton problème les yeux fermés, nous n'allons pas le faire pour toi. On peut te guider, t'expliquer des points que tu n'as pas compris. Mais pour ça, il faut que tu nous montre où tu en es, ce qui te bloque. Entre : traduire le code utilisateur en interface de la classe, et chainage des chainons & politique de parcours, il y a bien plus d'un sujet.

          • Partager sur Facebook
          • Partager sur Twitter
          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
            16 septembre 2019 à 17:40:02

            Beh En faite,je n'ai pas de professeur, je m'auto forme c'est pour cela que je demande de l'aide
            • Partager sur Facebook
            • Partager sur Twitter
              16 septembre 2019 à 17:43:24

              Tu suis quel cours? On a plutôt tendance à recommander celui de Zeste de Savoir ici.
              Avant de te faire plonger dans les pointeurs et les katas d'algo du C transposés au C++, il te fera travailler les bases du C++.

              En termes d'exo, je tends à recommander France-ioi, mais en s'imposant d'utiliser la bibliothèque standard du C++ -- malheureusement, ce n'est pas l'approche choisie par les corrections sur le site.

              -
              Edité par lmghs 16 septembre 2019 à 17:43:58

              • Partager sur Facebook
              • Partager sur Twitter
              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                16 septembre 2019 à 17:47:30

                Je suis le cours sur Openclassroom
                • Partager sur Facebook
                • Partager sur Twitter
                  16 septembre 2019 à 18:16:38

                  ElSonico a écrit:

                  Je suis le cours sur Openclassroom

                  Aïe!
                  Fais des recherches sur le forum pour comprendre mon Aïe!
                  En français tu as plutôt celui de zeste de savoir qui te formera au langage C++. Sinon pour répondre à ta question tu auras plus de réponse sur le forum du langage C (car le cours OpenClassroom est plus du "C avec les classes" que du "C++".)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  En recherche d'emploi.

                    16 septembre 2019 à 18:47:41

                    D'où mon incompréhension au sujet 

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Conteneur

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown