Rassembler les valeurs identique
bayefalle
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
paly2 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
paly2 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
Bonjour tous le monde,
J'ai un fichier qui s'affiche comme:
1 9
3 7
12 65
1 4
5 6
11 98
12 22
je veux que mon programme m'affiche:
1 (9,4)
12(65,22)
Merci de m'aider s'il vous plait.
J'ai un fichier qui s'affiche comme:
1 9
3 7
12 65
1 4
5 6
11 98
12 22
je veux que mon programme m'affiche:
1 (9,4)
12(65,22)
Merci de m'aider s'il vous plait.
A voir également:
- Rassembler les valeurs identique
- Site identique a coco - Accueil - Réseaux sociaux
- Comment rassembler plusieurs fichiers pdf en un seul - Guide
- Excel liste de valeurs - Guide
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Dans le document à télécharger : affichez l'ensemble des diapositives à l'écran avec 5 diapositives par ligne. repérez le groupe de 3 diapositives avec une fleur identique alignées verticalement, supprimez la première d'entre elles. un nouveau groupe de 3 diapositives avec une fleur identique alignées verticalement apparaît, supprimez encore la première d'entre elles. déplacez les 3 premières diapositives de la 4e ligne au début de la présentation. quel mot est formé par les lettres de la première colonne ? - Forum Powerpoint
5 réponses
Si je peux l'avoir ce soir c'est bien.
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é.
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)
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
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"; } }
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.