Partage
  • Partager sur Facebook
  • Partager sur Twitter

graphe, calculatric c++

    4 août 2020 à 16:56:42

    bonjour j'ai recu un gros projet en c++ d'implementation d'une "calculatrice" sur graphe.

    L'idee est qu'il y a des nodes qui sont differencies par leur nom uniquement (string), et apres il faut etre capable de faire des operations mathematiques sur ce graph comme union, interesection, complement ( memes nodes que le graph d'origine mais tous les arcs complementaires), et surtour multiplication.

    j'avais pense a realiser ca a l'aide de deux set, un pour les nodes et un pour les arcs, mais pour la multiplication ca se complique parce qu'il y a une infinite de nodes possibles : x1 ou (x1*x2) ou (x1*x2)*x3 etc... en fonction du nombre de multiplication realise...

    je suis un peu perdu et le projet doit etre realise dans un laps de temps tres serré don j'apprecierai beacoup si quequ'un pouvait me donner une indication sur la maniere de proceder, merci d'avance...

    • Partager sur Facebook
    • Partager sur Twitter
      5 août 2020 à 9:52:24

      Je vais répondre juste à ta question sur le produit, non il ne s'agit pas ici d'une infinité de multiplication mais d'un nombre limité.
      Diviser en deux set est une bonne idée, une autre serait de faire un set d'un nœud de départ en correspondance avec des nœuds d'arrivé.

      vu qu'une image est toujours meilleur que des mots, je pense que l'image ci-dessous devrait t'aider:

      https://upload.wikimedia.org/wikipedia/commons/7/77/Graph-Cartesian-product.svg

      • Partager sur Facebook
      • Partager sur Twitter

      Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il y a que la troisième qui marche

        5 août 2020 à 11:23:10

        merci a toiù je n'ai pas tout compris mais j'y penseù mais j'ai une autre question plus urgente, selon les consignes les commandes qui vont etre rentre vont etre sous forme

        U = {a,b | <a,b>} et je dois traduire ca en : cree un graph qui s'appelle U, avec deux point a et b et une fleche de a vers b et je ne sais pas du tout comment faire, ce n'est pas des choses qu'on nous a enseigné et je n'arrive pas a trouver comment il faut faire et quelle fonction utilise... d'autant plus que defois la commande peut etre print(U) et a ce moment la il faut "afficher le graph U...

        • Partager sur Facebook
        • Partager sur Twitter
          5 août 2020 à 13:58:00

          Lu',

          Pour commencer, tu as l'air vachement en PLS...Si tu sens que tu n'es pas à l'aise avec le domaine d'application et/ou que ta deadline est un peu trop proche, c'est à toi de prendre l'initiative d'aller en parler à la personne qui t'as donné ce projet. Si elle est comprehensive, elle pourra t'aider en simplifiant le projet, repoussant la deadline, voire en transférant le projet à quelqu'un de plus expérimenté. Si elle ne l'est pas, tu pourras rejeter la faute sur elle en cas de soucis, puisque tu l'as prévenu, en amont, que les contraintes imposées ne correspondent pas à ton niveau d'experience.

          Sinon, On va commencer par faire simple.

          • Est-ce que tu t'y connais en theorie des graphes?
          • Tu utilises quoi comme lib pour representer tes graphes?
          • est-ce que tu sais créer un noeud avec cette lib?
          • est-ce que tu sais créer une branche avec cette lib?

          L'idée est de commencer petit, simple, puis d’améliorer au fur et à mesure. C'est pareil pour la partie algorithmique: tu pars d'un cas simple et concret et ce n'est qu'une fois que tu as compris la logique que tu peux essayer de généraliser.

          Good Luck!

          • Partager sur Facebook
          • Partager sur Twitter

          Eug

            5 août 2020 à 17:07:45

            Le veritable probleme est que ce projet a ''pour but'' de nous faire tomber pour remplacer la note quon quon aurait eu en examen... Donc c'est fait expres qu'on n'ait pas l'experience , si on veut... Niveau graph, je connais la theorie, j'en ai jamais code, par contre j'ai code un arbre avl , ce qui n'est pas la meme chose mais...au niveau bibliothèque je peux itiliser la std mais on ne nous a pas appris comment l'utiliser pour realiser des graphs... Meme si pour le moment comment representer le graph n'est que mon second probleme, le probleme principal etant comment lire des expressions ''mathematiques'' et les transformer en appel aux fonctions comme je l'ai explique dans mon message precedent...
            • Partager sur Facebook
            • Partager sur Twitter
              6 août 2020 à 3:27:33

              Tu peux "parser" ces expressions mathematiques assez facilement avec les expressions regulieres.
              • Partager sur Facebook
              • Partager sur Twitter

              Eug

                6 août 2020 à 17:08:45

                merci de ta reponse, seulement je n'ai pas appris a faire ca... tu saurais ou je peux trouver des explications sur comment faire, ou si le sujet a ete aborde sur le blog

                • Partager sur Facebook
                • Partager sur Twitter
                  7 août 2020 à 0:31:23

                  Je n'ai pas  de tuto sur les regex sous la main, mais tu peux facilement en trouver sur internet.

                  Je ne sais pas quelles études tu fais, mais c'est vraiment très mal parti.... 

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Eug

                  graphe, calculatric c++

                  × 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