Der größte Wert
Das dritte Muster findet den größten Wert. Stell dir vor, du gehst einen Stapel Klassenarbeiten durch, um die beste zu finden. Du nimmst die erste Arbeit in die Hand. Dann siehst du dir die anderen nacheinander an, und immer wenn eine besser ist als die in deiner Hand, nimmst du stattdessen diese. Am Ende hältst du die beste Arbeit in der Hand. Im Code ist die Arbeit in deiner Hand eine Variable:
std::vector<int> punkte = {72, 45, 90, 38, 64};
int hoechste = punkte[0];
for (int punktzahl : punkte) {
if (punktzahl > hoechste) {
hoechste = punktzahl;
}
}
std::cout << "Höchste Punktzahl: " << hoechste << std::endl;Höchste Punktzahl: 90Die Variable hoechste beginnt mit dem ersten Element. Dann vergleicht die Schleife jede Punktzahl mit ihr: 72 ist nicht größer als 72, 45 auch nicht, aber 90 ist es, also wird hoechste zu 90. Weder 38 noch 64 sind größer als 90, also bleibt 90 bis zum Ende.
Warum beginnst du nicht mit 0? Weil 0 vielleicht gar kein Wert aus dem Vektor ist. Wären alle Werte negativ, zum Beispiel die Wintertemperaturen {-5, -2, -8}, bliebe die Startzahl 0 die größte, und das Programm würde 0 ausgeben, eine Temperatur, die im Vektor gar nicht vorkommt. Das erste Element ist immer ein sicherer Start, solange der Vektor nicht leer ist.
Den kleinsten Wert findest du genauso, nur mit < statt >.
Manchmal vergleichst du eine Sache, willst aber eine andere behalten. Um den längsten Namen zu finden, vergleichst du die Längen der Namen, speicherst aber den Namen selbst:
std::vector<std::string> namen = {"Eva", "Maximilian", "Jan"};
std::string laengster = namen[0];
for (std::string name : namen) {
if (name.size() > laengster.size()) {
laengster = name;
}
}
std::cout << "Längster Name: " << laengster << std::endl;Längster Name: MaximilianSo schreibst du es:
Anweisungen
- 1
Der Vektor
preiseenthält die Preise von Kopfhörern in einem Onlineshop. Erstelle eine Variablehoechstervom Typintmit dem ersten Preis,preise[0]. - 2
Gehe
preisemit einer Schleife durch, und immer wenn ein Preis größer ist alshoechster, speichere ihn inhoechster. Gib das Ergebnis nach der Schleife alsTeuerste: 249aus. - 3
Finde den Preis der günstigsten Kopfhörer auf dieselbe Weise: mit einer Variablen
niedrigster, die mit dem ersten Preis beginnt, und mit<statt>. Gib das Ergebnis alsGünstigste: 19aus.