Iterieren mit einer For-Schleife
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy. Lektion 14 von 56.
Nachdem du nun weißt, wie du auf einzelne Elemente zugreifst und die Größe eines Vektors überprüfst, lernen wir jetzt, wie du jedes Element systematisch mit einer traditionellen for-Schleife verarbeitest. Dieser Ansatz kombiniert die Methode .size() mit dem indexbasierten Zugriff, um jedes Element der Reihe nach aufzurufen.
Eine traditionelle for-Schleife verwendet eine Indexvariable, die bei 0 beginnt und erhöht wird, bis sie die Größe des Vektors erreicht:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}In diesem Beispiel stellt die Schleifenbedingung i < names.size() sicher, dass wir die Grenzen des Vektors nicht überschreiten, während names[i] auf jedes Element mithilfe des aktuellen Index zugreift. Die Schleife wird jeden names in einer eigenen Zeile print.
Dieses Muster ist grundlegend für die Verarbeitung von Datensammlungen. Die Indexvariable i gibt dir präzise Kontrolle darüber, mit welchem Element du arbeitest, und ist daher nützlich, wenn du die Position jedes Elements kennen musst oder Elemente während der Iteration ändern möchtest.
Beachte, dass i nach Abschluss des loop names.size() entspricht – in diesem Fall 3 –, weil der loop stoppt, sobald die Bedingung i < names.size() falsch wird.
Aufgabe
EinfachCreate ein Programm, das eine traditional for loop verwendet, um durch einen vector mit product names zu iterate und sie in einem nummerierten Listenformat anzuzeigen.
Die folgenden Eingaben werden bereitgestellt:
- Eine Ganzzahl
n, die die number der products darstellt - Anschließend
nZeichenfolgen, die product names darstellen
Dein Programm sollte:
- einen
std::vector<std::string>namensproductsCreate push_back()verwenden, um jedes dernproduct names zum vector add- eine traditional for loop mit einer Indexvariablen verwenden, um durch den vector zu iterate
- in der loop die Methode
.size()für die loop-Bedingung verwenden - den square-bracket-Operator
[]verwenden, um auf jedes Element per Index zuzugreifen - jedes product mit seiner position number (beginnend bei 1) im angegebenen Format ausgeben
Verwende das folgende exakte Ausgabeformat:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...Die for loop sollte mit dem Index 0 beginnen, i < products.size() als Bedingung verwenden und i in jeder Iteration inkrementieren. Add beim Ausgeben 1 zum Index, um position numbers ab 1 anzuzeigen.
Probier es selbst
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Lies die Anzahl der Produkte
int n;
cin >> n;
// Erstelle einen Vektor, um Produktnamen zu speichern
vector<string> products;
// Lies die Produktnamen und füge sie dem Vektor hinzu
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// TODO: Schreibe deinen Code darunter
// Verwende eine traditionelle for-Schleife, um durch den Vektor zu iterieren
// und gib jedes Produkt mit seiner Positionsnummer aus
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügenÜbe selbstständig: Online-C++-Compiler