Rassembler les valeurs identique
Fermé
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
-
15 juin 2016 à 19:06
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 16 juin 2016 à 21:05
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 16 juin 2016 à 21:05
A voir également:
- Rassembler les valeurs identique
- Comment rassembler plusieurs fichiers pdf en un seul - Guide
- Site identique a coco - Accueil - Réseaux sociaux
- Excel liste de valeurs - Guide
- Pour ce faire la taille des cellules fusionnées doit être identique - Forum Excel
- Formule excel si compris entre plusieurs valeurs ✓ - Forum Excel
5 réponses
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 337
15 juin 2016 à 19:10
15 juin 2016 à 19:10
Bonjour,
C'est pour quand ?
C'est pour quand ?
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
15 juin 2016 à 19:12
15 juin 2016 à 19:12
Si je peux l'avoir ce soir c'est bien.
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 337
15 juin 2016 à 19:12
15 juin 2016 à 19:12
A tout hasard, un petit rappel :
CCM ne fait pas les exercices !.. De l'aide peut être demandée si on montre l'avancée du travail qu'on a soi-même réalisé.
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
>
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
Modifié par Chris 94 le 15/06/2016 à 19:26
Modifié par Chris 94 le 15/06/2016 à 19:26
J'avais commencé à utiliser les structures.
illustration:
rec.dest rec.src
1 9
3 7
12 65
1 4
5 6
11 98
12 22
il faut que je parcourt la colonne rec.dest et recupérer les valeur qui viennent au moins deux fois et de les afficher avec leurs correspondances du colonne 2:
1 (9,4)
12(65,22)
struct CHInfo { int src; int dest; }; CHInfo rec; rec.src = atoi(netPacket->getSource()); rec.dest = id; CHcandidates.push_back(rec);
illustration:
rec.dest rec.src
1 9
3 7
12 65
1 4
5 6
11 98
12 22
il faut que je parcourt la colonne rec.dest et recupérer les valeur qui viennent au moins deux fois et de les afficher avec leurs correspondances du colonne 2:
1 (9,4)
12(65,22)
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
15 juin 2016 à 19:12
15 juin 2016 à 19:12
J'ai pensé à utiliser les liste chainée ou vector, mais j'y arrive pas.
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
15 juin 2016 à 19:44
15 juin 2016 à 19:44
Je propose d'utiliser un
std::map<int, std::vector<int>>, ou un
std::map<int, std::set<int>>si les valeurs de la 2e colonne sont uniques par rapport à la valeur de la 1ère colonne.
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
Modifié par paly2 le 16/06/2016 à 07:24
Modifié par paly2 le 16/06/2016 à 07:24
https://forums.commentcamarche.net/forum/affich-33575444-afficher-le-contenu-des-cellules-identique-dans-un-tableau-en-c
Visiblement la seule différence entre les deux sujets est le language, du C au C++...
La curiosité est une excellente qualité !
Visiblement la seule différence entre les deux sujets est le language, du C au C++...
La curiosité est une excellente qualité !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
16 juin 2016 à 12:22
16 juin 2016 à 12:22
Bonjour,
En C++, c'est beaucoup plus simple qu'en C une utilisant la map<> qu'a proposé gravgun.
En C++, c'est beaucoup plus simple qu'en C une utilisant la map<> qu'a proposé gravgun.
std::map<int,std::vector<int>> donneesClassees; // classer les éléments à partir de src, leur associer la liste des dest correspondantes for ( auto const& rec : CHcandidate ) donneesClassees[rec.src].push_back( rec.dest ); // il ne reste qu'à tracer chaque élément du dictionnaire qui a plusieurs dest for ( auto const& itm : donneesClassees ) { if ( itm.second.size() > 1u ) { // plusieurs dest pour un src std::cout << itm.first << " ("; for ( auto idst = itm.second.cbegin() ; ; ) std::cout << *idst; if ( ++idst != itm.second.cend() ) std::cout << " , "; // séparateur avant le prochain else break; // dernier élément, on arrête } std::cout << " )\n"; } }
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
16 juin 2016 à 15:26
16 juin 2016 à 15:26
Merci beaucoup de me répondre.
Dans le bout de code que vous m'avez donner Dalfab, il ne manque pas une accolade ouverte???
Vous avez mis plus d'accolade fermente que d'accolade ouverte.
Dans le bout de code que vous m'avez donner Dalfab, il ne manque pas une accolade ouverte???
Vous avez mis plus d'accolade fermente que d'accolade ouverte.
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
16 juin 2016 à 15:30
16 juin 2016 à 15:30
Oui, il manque une petite accolade ouvrante ligne 13, à la fin du for ;)
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
>
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
16 juin 2016 à 15:32
16 juin 2016 à 15:32
Merci beaucoup!
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
2
>
bayefalle
Messages postés
122
Date d'inscription
jeudi 7 novembre 2013
Statut
Membre
Dernière intervention
12 mai 2017
16 juin 2016 à 15:50
16 juin 2016 à 15:50
Si je compile, il m'affiche l'erreur suivant:
expected initializer befor ':' token
c'est dans les for
for ( auto const& rec : CHcandidate )
expected initializer befor ':' token
c'est dans les for
for ( auto const& rec : CHcandidate )
paly2
Messages postés
254
Date d'inscription
vendredi 29 août 2014
Statut
Membre
Dernière intervention
15 février 2018
25
Modifié par paly2 le 16/06/2016 à 16:13
Modifié par paly2 le 16/06/2016 à 16:13
Peut-être que ton compilateur est trop vieux pour supporter les "range-based" for.
Essaie:
Ou (au choix)
Il faut aussi que tu fasses la modification pour la deuxième boucle for de ce type.
Note: j'ai horreur de
Essaie:
for (int i = 0 ; i < CHcandidate.size() ; i++) donneesClassees[CHcandidate[i].src].push_back( CHcandidate[i].dest );
Ou (au choix)
for (std::vector<int>::iterator rec = CHcandidate.begin() ; rec < CHcandidate.end() ; rec++) donneesClassees[rec->src].push_back( rec->dest );
Il faut aussi que tu fasses la modification pour la deuxième boucle for de ce type.
Note: j'ai horreur de
auto.