Hardliner93
Cadet 3rd Year
- Registriert
- Mai 2012
- Beiträge
- 59
Hallo zusammen,
im Rahmen einer Programmieraufgabe habe ich folgendes Problem:
ich habe Objekte von meinem eigenen Typ Year, in dem u.A. eine Jahreszahl und deren zugehörige Durchschnittstemperatur gespeichert sind. In einer Teilaufgabe soll ich nun alle Jahre (131 an der Zahl) fallend nach Durchschnittstemperatur sortiert in eine Datei schreiben.
Bisher habe ich versucht, eine unordered_map<int, double> zu verwenden und mit Paaren von Jahr und Durchschnittstemperaturen zu füllen und diese dann zu sortieren, mit der normalen std::sort Sortierfunktion aus dem <algorithm>-Include, aber erfolglos.
Könnt ihr mir weiterhelfen wo der Fehler ist bzw. ob es möglicherweise eine elegantere Lösung gibt?
Über Vorschläge bin ich sehr dankbar,
Gruß Hardliner
im Rahmen einer Programmieraufgabe habe ich folgendes Problem:
ich habe Objekte von meinem eigenen Typ Year, in dem u.A. eine Jahreszahl und deren zugehörige Durchschnittstemperatur gespeichert sind. In einer Teilaufgabe soll ich nun alle Jahre (131 an der Zahl) fallend nach Durchschnittstemperatur sortiert in eine Datei schreiben.
Bisher habe ich versucht, eine unordered_map<int, double> zu verwenden und mit Paaren von Jahr und Durchschnittstemperaturen zu füllen und diese dann zu sortieren, mit der normalen std::sort Sortierfunktion aus dem <algorithm>-Include, aber erfolglos.
Code:
unordered_map<int, double> sorted_years; // map, die später sortiert sein soll
for (int i = 0; i < years.size(); i++){ //vector<Year*> enthält alle Year-Objekte
sorted_years.insert(make_pair(years.at(i)->getYear(), years.at(i)->getAvgTemp()));
}
//Sortierversuch:
sort(sorted_years.begin(), sorted_years.end(), compare_temps);
//compare-Funktion
bool compare_temps(pair<int, double> lhs, pair<int, double> rhs){
return (lhs.second < rhs.second);
}
Könnt ihr mir weiterhelfen wo der Fehler ist bzw. ob es möglicherweise eine elegantere Lösung gibt?
Über Vorschläge bin ich sehr dankbar,
Gruß Hardliner