Wenn fertig, bitte Fenster schließen
// Lösung zu pair // Dateien einbinden #include <iostream> #include <string> using std::cout; using std::endl; using std::string; // Aktienkurse festlegen std::pair<float, std::string> aktien[] = { std::make_pair(333.33f,string("Daimler")), std::make_pair(111.11f,string("VW")), std::make_pair(222.22f,string("BMW")), std::make_pair(11.11f,string("General Motors"))}; // Anzahl der Kurse const size_t SSIZE = sizeof(aktien)/sizeof(aktien[0]); // main() Funktion int main() { size_t index; // Aktienkurs ausgeben cout << "Aktienkurse:\n"; cout << "-----------:\n"; for(index=0; index<SSIZE; index++) { cout << "Hersteller: " << aktien[index].second << ", Kurs: " << aktien[index].first << endl; } // VW Aktie um 111.11 erhöhen aktien[1].first += 111.11f; cout << "** VW Aktie um 111.11 erhöht! **\n"; // Aktien nach Wert sortieren bool changed; do { changed = false; for (index=0; index<SSIZE-1; index++) { // Vergleicht primär Kurse, sekundär Hersteller if (aktien[index]>aktien[index+1]) { std::pair<float,std::string> temp = aktien[index]; aktien[index] = aktien[index+1]; aktien[index+1] = temp; changed = true; } } } while (changed); // Sortierte Kurse nach Wert ausgeben cout << "\nKurse nach Wert/Hersteller sortiert:\n"; cout << "------------------------------------\n"; for(index=0; index<SSIZE; index++) { cout << "Hersteller: " << aktien[index].second << ", Kurs: " << aktien[index].first << endl; } } |