Iterieren mit einer For-Schleife
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 14 von 56.
Nachdem Sie nun wissen, wie Sie auf einzelne Elemente zugreifen und die Größe eines Vektors überprüfen können, lernen wir nun, wie man jedes Element systematisch mit einer herkömmlichen for-Schleife verarbeitet. Dieser Ansatz kombiniert die .size()-Methode mit indexbasiertem Zugriff, um jedes Element nacheinander zu besuchen.
Eine traditionelle for-Schleife verwendet eine Indexvariable, die bei 0 beginnt und inkrementiert 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 nicht über die Grenzen des Vektors hinausgehen, während names[i] mit dem aktuellen Index auf jedes Element zugreift. Die Schleife gibt jeden Namen in einer separaten Zeile aus.
Dieses Muster ist grundlegend für die Verarbeitung von Datensammlungen. Die Indexvariable i gibt Ihnen eine präzise Kontrolle darüber, mit welchem Element Sie gerade arbeiten, was es nützlich macht, wenn Sie die Position jedes Elements kennen müssen oder wenn Sie Elemente während der Iteration ändern möchten.
Beachten Sie, dass nach Abschluss der Schleife i gleich names.size() ist — in diesem Fall 3 — da die Schleife stoppt, sobald die Bedingung i < names.size() falsch wird.
Aufgabe
EinfachErstellen Sie ein Programm, das eine traditionelle for-Schleife verwendet, um einen Vektor von Produktnamen zu durchlaufen und diese in einem nummerierten Listenformat anzuzeigen.
Die folgenden Eingaben werden bereitgestellt:
- Eine Ganzzahl
n, die die Anzahl der Produkte darstellt - Anschließend
nZeichenfolgen, die Produktnamen darstellen
Ihr Programm sollte:
- Einen
std::vector<std::string>namensproductserstellen push_back()verwenden, um jeden dernProduktnamen zum Vektor hinzuzufügen- Eine traditionelle for-Schleife mit einer Indexvariable verwenden, um den Vektor zu durchlaufen
- In der Schleife die Methode
.size()für die Schleifenbedingung verwenden - Den eckigen Klammeroperator
[]verwenden, um auf jedes Element über den Index zuzugreifen - Jedes Produkt mit seiner Positionsnummer (beginnend bei 1) im angegebenen Format ausgeben
Verwenden Sie das folgende exakte Ausgabeformat:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...Die for-Schleife sollte mit Index 0 beginnen, i < products.size() als Bedingung verwenden und i in jeder Iteration inkrementieren. Addieren Sie bei der Ausgabe 1 zum Index, um Positionsnummern beginnend bei 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 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 unten
// 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