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 :

Comparaison entre deux Vector


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut Comparaison entre deux Vector
    Bonsoir ,

    Est ce qu'il y a une autre possibilité de comparer deux vecteur sans accès à ses variable voici un exemple pour bien comprendre ce que je veux

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include <iostream>
    #include <vector>
    using namespace std;
    
    struct etudiant{string nom;string prenom;};
    
    int main()
    {
        vector<vector<etudiant> > et1;
        vector<vector<etudiant> > et2;
        vector<etudiant> a,b,c,d;
        etudiant a1,b1,c1,d1;
    
        a1.nom="nom1";a1.prenom="prenom1";
        b1.nom="nom2";b1.prenom="prenom2";
        c1.nom="nom1";c1.prenom="prenom1";
        d1.nom="nom4";d1.prenom="prenom4";
    
        a.push_back(a1);
        b.push_back(b1);
        c.push_back(c1);
        d.push_back(d1);
    
        et1.push_back(a);et1.push_back(b);
        et2.push_back(c);et2.push_back(d);
    
        for(int i=0;i<et1.size();i++)
            for(int j=0;j<et1[i].size();j++)
            {
                if((et1[i][j])==(et2[i][j]))
                    cout<<et1[i][j].nom<<endl;
            }
    
        return 0;
    }
    il m'affiche une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\Essaye\Exemple\main.cpp|30|error: no match for 'operator==' in '((std::vector<etudiant, std::allocator<etudiant> >*)et1.std::vector<_Tp, _Alloc>::operator[] [with _Tp = std::vector<etudiant, std::allocator<etudiant> >, _Alloc = std::allocator<std::vector<etudiant, std::allocator<etudiant> > >](((unsigned int)i)))->std::vector<_Tp, _Alloc>::operator[] [with _Tp = etudiant, _Alloc = std::allocator<etudiant>](((unsigned int)j)) == ((std::vector<etudiant, std::allocator<etudiant> >*)et2.std::vector<_Tp, _Alloc>::operator[] [with _Tp = s|
    ||=== Build finished: 1 errors, 2 warnings ===|

    dans la condition j'aurai pu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(et1[i][j].nom==et2[i][j].nom)
    mais c'est pas ce que je veux, dans mon cas . est ce qu'il ya une possibilité s'il vous plait ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Je pense qu'il faut implémenter l'opérateur == sur struct etudiant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct etudiant{
            string nom;
            string prenom;
            bool operator == (const etudiant& e) {
                    return this->nom==e.nom && this->prenom==e.prenom;
            };      
    };

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison entre deux chaînes
    Par fifi87 dans le forum Assembleur
    Réponses: 2
    Dernier message: 12/12/2006, 20h55
  2. Comparaison entre deux variables
    Par delavega dans le forum ASP
    Réponses: 8
    Dernier message: 23/11/2006, 16h42
  3. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  4. Réponses: 6
    Dernier message: 18/04/2006, 13h11
  5. Comparaison entre deux champs de deux tables différentes
    Par liam81150 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/09/2005, 20h53

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