Map = Array + Struktur
-
Die Ausgabe sieht schon richtig aus. Nur wie du jetzt deine Eingabe in die multimap gestaltet hast, zeigst du uns ja nicht. Und auf wildes raten habe ich grade wenig Lust...
-
for(int i = 1 ; i <= 4 ; i++) { a.artikel = "a"; a.preis = i; A[i] = 1 multimap.insert(pair<unsigned int,Artikel>(A[i], a)); }
-
314159265358979 schrieb:
Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?
werte können auch in einer map beliebig oft vorkommen, aber schlüssel halt nur einmal.
und in de rmultimap kann beides beliebig vorkommen...
-
janmerkschien schrieb:
for(int h =0 ; h <= 3 ; h++) { cout<<multimap.find(A[h])->second.artikel << " , " << <<multimap.find(A[h])->second.preis << endl; }typedef multimap<unsigned,Artikel> iter; // Alle Einträge für Key==1 ausgeben pair<iter,iter> Range = mm.equal_range( 1 ); for ( ; Range.first!=Range.second; ++Range.first ) cout << Range.first << " " << Range.second << "\n";
-
Bei einer multimap bietet sich doch equal_range an.
void print(const multimap<int,Artikel>& m, int key) { typedef multimap<int,Artikel>::const_iterator I; pair<I,I> p = m.equal_range(key); for(I i=p.first;i!=p.second();++i) { // Ausgabe } }Natürlich ungetestet.
Die Lösung kam ja schon, sehe ich gerade, naja, das Auslagern in eine Funktion erscheint mir dennoch nützlich.
-
janmerkschien schrieb:
[bla]
Siehe http://www.c-plusplus.net/forum/200753
Beachte besonders den vorletzten Punkt.
-
ich habe mich jetzt etwas eingearbeitet aber ich bekomme es einfach nicht hin ...
er gibt mir immer nur den ersten Wert aus, also "1"typedef multimap<unsigned int,Artikel>::const_iterator IT; pair<IT,IT> p = mm.equal_range(A[0]); for(;p.first != p.second; ++p.first) { filetxt << (p.second)->second.preis <<endl; }
-
Skym0sh0 schrieb:
314159265358979 schrieb:
Ich dachte, in einer multimap können Values mehrmals vorkommen. Huh?
werte können auch in einer map beliebig oft vorkommen, aber schlüssel halt nur einmal.
und in de rmultimap kann beides beliebig vorkommen...
Irgendwie sogar irgendwie logisch. Danke

-
janmerkschien schrieb:
...aber ich bekomme es einfach nicht hin...
Es wäre mal wieder Zeit für ein komplettes Minimalbeispiel und einer Erklärung, was das ganze eigentlich sein/leisten soll.
-
hab jetzt ne lösung danke für eure hilfe
