Bonjour,
Voilà plusieurs semaines que je bloque sur le même problème. J'ai beau le tourner dans tous les sens, je ne trouve pas de solution ou d'algorithme adapté. Je vous expose mon problème en espérant être le plus claire possible :
Je dispose le vector de vector suivant :
Ce vector, je le rempli à partir d'un fichier texte, voici un exemple de son remplissage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part vector<vector<string>> myVector;
Vector 1 : 1 1 14 9 8
Vector 2 : 1 2 6 3 9
Vector 3 : 1 3 6 9 8
Vector 4 : 1 1 6 3 2
Vector 5 : 1 2 3 6 9
Mon vector de vector est de la forme suivante donc : Vector 1 Vector 2 Vector 3 Vector 4 en faisant :
idem pour les autres
Code : Sélectionner tout - Visualiser dans une fenêtre à part myVector.push_back(Vector 1);
Je souhaite comparer les deux premiers elements de chaque vectors. Par exemple, Vector 1 et Vector 4 ont les deux même premiers éléments, je souhaite donc remplir un nouveau vector de vector (ou une autre structure peu importe) avec :
Vector 1 : 1 1 14 9 8 6 3 2 (j'ai concaténer Vector 1 et Vector 4 en supprimant les deux premiers éléments de Vector 4)
Vector 2 : 1 2 6 3 9 3 6 9 (j'ai concatener Vector 2 et 5 d ela même manière)
Vector 3 : 1 3 6 9 8
Mon problème est a plus grande echelle bien sur avec des milliers de données.
Pour l'instant, je dispose donc de mon vector de vector mais je ne vois pas comment le parcourir pour ne comparer que les deux premiers éléments. J'ai voulu partir comme ça :
Je sais que je ne suis pas sur la bonne voie et que je complique le problème. Si quelqu'un peut m'expliquer mes erreurs et me donner une voie pour mon problème, ça serait super !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for (int k=0; k <myVector.size(); k++) { for (int s=0 ; s<myVector[k].size(); s++) { for (int u=0; u <myVector.size(); u++) { for (int a=0 ; a<myVector[u].size(); a++) { // Comparaison de myVector[k][s] et myVector[u][a] ????? } } } }
J'ai fais beaucoup de recherche sur le net pour trouver des fonctions adaptées mais aucune ne convient...
Je vous remercie d'avance pour vos réponses !
Partager