Iterieren mit einer For-Schleife
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 14 von 56.
Jetzt, da Sie wissen, wie man auf einzelne Elemente zugreift und die Größe eines Vektors überprüft, lernen wir, wie man jedes Element systematisch unter Verwendung einer traditionellen 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 Vectors 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] auf jedes Element unter Verwendung des aktuellen Index 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.
Aufgabe
EinfachErstellen Sie ein Programm, das eine traditionelle for-Schleife verwendet, um durch einen Vektor von Produktnamen zu iterieren und diese in einem nummerierten Listenformat anzuzeigen.
Die folgenden Eingaben werden bereitgestellt:
- Ein Integer
n, der die Anzahl der Produkte darstellt - Anschließend
nStrings, die 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 durch den Vektor zu iterieren
- In der Schleife die Methode
.size()für die Schleifenbedingung verwenden - Den eckigen Klammer-Operator
[]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.
Spickzettel
Verwenden Sie eine traditionelle for-Schleife, um durch einen Vector zu iterieren, indem Sie .size() mit indexbasiertem Zugriff kombinieren:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}Die Schleifenbedingung i < names.size() stellt sicher, dass Sie nicht über die Grenzen des Vectors hinausgehen, während names[i] auf jedes Element über den aktuellen Index zugreift. Die Indexvariable gibt Ihnen präzise Kontrolle darüber, mit welchem Element Sie arbeiten, und ermöglicht es Ihnen, die Position jedes Elements zu kennen.
Probier es selbst
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Lies die Anzahl der Produkte ein
int n;
cin >> n;
// Erstelle einen Vektor, um Produktnamen zu speichern
vector<string> products;
// Lies Produktnamen ein 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