dynamisch allokieren
-
naja oder wenn du die stl nicht verwenden willst musst du dich eben selbst darüm kümmern und die Anzahl der Elemente anpassen....
1.) Zeiger anlegen (Array geht nicht, weil bei einem Array die Anzahl der Elemente eine konstante ist)
2.) Speicher allokieren (je nach dem wie viel du brauchst)
3.) daten reischreiben
-
a) Wieso sollte er das nicht wollen?
b) würde er es nicht wollen, würde er dann nicht selbst nach einer Alternative fragen?
-
@Helium: unique funktioniert nur auf sortierten ranges.
MfG Jester
-
Jein. Also, du hast recht, das in meinem Beispiel sortiert werden müsste, aber ellgemein ist die Aussage falsch, jenachdem, was erreicht werden soll:
1,1,5,5,3,3,3,3,8,8 -> unique -> 1,5,3,8
Aber hier der verbesserte Code:
vector<int> zahlen; copy (istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(zahlen)); sort (zahlen.begin(), zahlen.end()); vector<int>::iterator ende = unique (zahlen.begin(), zahlen.end()); copy (zahlen.begin(), ende, ostream_iterato<int>(cout, " "));
-
Warum nicht einfach std::set verwenden, das von sich aus keine Dubletten akzeptiert.
(War´s set? Jedenfalls gibt es in der STL einen passenden Container :))
-
Gute Frage
-
Moment, jetzt bin ich mir aber unsicher:
[cpp]
set<int> zahlen;copy (istream_iterator<int>(cin), istream_iterator<int>(), inserter(zahlen, zahlen.begin()));
copy (zahlen.begin(), zahlen.end(), ostream_iterator<int>(cout, " "));
[/cpp]Ist das so richtig? ich hab bis jetzt erlich gesagt nur front- und back_insert-Iteratoren verwendet.
/edit: es fehlte ein 'r'
-
Ja, funktioniert doch auch?! Oder war das ne rhetorische Frage?!
-
Das war eigentlich erst gemeint. Ich hatte keine Möglichkeit zu testen. Jetzt hatte ich die Gelegenheit. Ja, schein zu gehen. Darf man nicht mal ein wenig unsicher sein?
-
Doch, aber durch einen Test wärst du ja selbst drauf gekommen. Kann ja kein Mensch riechen, dass du das nicht testen konntest....
-
Ich schätze mal 95% des Codes, den ich hier poste ist nicht getestet.
'insert_iterator'en brauchen ja einen weiteren Iterator; normalerweise wird vor diesen Iterator eingefügt. Das hat mich eben verunsichert.