IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

la difference entre les aretes de deux graphes


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut la difference entre les aretes de deux graphes
    Bonsoir,
    J'ai écris un programme de graphs mining, ça commence par la lecture d'informations à partir d'un fichier et puis la creation des graphes et l'insertion dans un std::vector.
    jusqu'ici tout va bien..

    La partie ou il y a un probléme est celle la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    std::vector<std::array<int, 3>>  edgesdiff(Graph const& g1,Graph const& g2){
     
        std::array<int, 3> t;
        std::vector<std::array<int, 3>> res;
     
        edge_pair ep;
        for (ep = edges(g1); ep.first != ep.second; ++ep.first) // ep edge number
        {
            vertex_t from = source(*ep.first, g1);
            int froml=g1[from].label;
            t[0]=g1[from].id;
     
            vertex_t to = target(*ep.first, g1);
            int tol=g1[from].label;
            t[1]=g1[to].id;
     
            edge_t edg = edge(from, to, g1);
            t[2]=g1[edg.first].label;
     
            if(!edgeexistlabels(g2,froml,tol,t[2])){res.push_back(t);}
     
        }
     
        return res;
    }
    Cette fonction retourne les informations sur la différence entre les arêtes de deux graphes dans un std::vector<std::array<int, 3>>
    par différence je veux dire les arêtes qui se trouve dans g1 mais pas dans g2

    Voila le programme en live: http://coliru.stacked-crooked.com/a/a22b68c87d6b6600

    ça donne le résultat suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [0][1][11]
     
    [1][2][12]
     
    [1][3][13]
     
    [2][3][14]
    en vérité ça doit retourner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [0][1][11]
     
     
    [1][3][13]
    je ne comprends pas ou est l'erreur Aidez moi à régler ça svp!
    Nom : 5comp_graphs.png
Affichages : 72
Taille : 369,6 Ko

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    N'y aurait-il pas une erreur à la ligne 14 ?

Discussions similaires

  1. Différence entre les arêtes de deux graphes
    Par mohsenuss91 dans le forum Boost
    Réponses: 3
    Dernier message: 25/03/2015, 09h25
  2. [XQUERY][Xpath] Differences entre les deux langages
    Par clouddd dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 24/11/2009, 16h00
  3. la difference entre les deux code
    Par infoelectronique dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 17/07/2008, 08h08
  4. difference entre les 3 versions de xmi
    Par nabdoun dans le forum Outils
    Réponses: 1
    Dernier message: 16/01/2006, 15h50
  5. difference entre les edi
    Par Trust_ dans le forum Débats sur le développement - Le Best Of
    Réponses: 44
    Dernier message: 02/06/2004, 19h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo