Itérer avec une boucle For
Fait partie de la section Logique et Flux du Journey C++ de Coddy. Leçon 14 sur 56.
Maintenant que tu sais comment accéder aux éléments individuels et vérifier la taille d’un vector, apprenons à traiter systématiquement chaque élément à l’aide d’une boucle for traditional. Cette approche combine la méthode .size() avec un accès basé sur l’index pour parcourir chaque élément dans l’ordre.
Une traditional for loop utilise une variable d’index qui commence à 0 et s’incrémente jusqu’à atteindre la size du vector :
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}Dans cet exemple, la condition de la loop i < names.size() garantit que nous ne dépassons pas les limites du vector, tandis que names[i] accède à chaque élément à l’aide de l’index actuel. La loop affichera chaque nom sur une ligne distincte.
Ce modèle est fondamental pour traiter des collections de données. La variable d’index i vous donne un contrôle précis sur l’élément avec lequel vous travaillez, ce qui la rend utile lorsque vous devez connaître la position de chaque élément ou lorsque vous voulez modifier des éléments pendant l’itération.
Note qu’après la fin de la boucle, i est égal à names.size() — dans ce cas, 3 — car la boucle s’arrête dès que la condition i < names.size() devient fausse.
Défi
FacileCreatez un programme qui utilise une traditional for loop pour iterate through un vector de product names et les afficher dans un format de liste numérotée.
Les entrées suivantes seront fournies :
- Un entier
nreprésentant le number de products - Puis
nchaînes représentant les names des products
Votre programme doit :
- Create un
std::vector<std::string>nomméproducts - Utiliser
push_back()pour add chacun desnnoms de products au vector - Utiliser une traditional for loop avec une variable d'index pour iterate through le vector
- Dans la loop, utiliser la méthode
.size()pour la condition de la loop - Utiliser l'opérateur crochets
[]pour accéder à chaque élément par index - Afficher chaque product avec son numéro de position (à partir de 1) dans le format spécifié
Utilisez le format de sortie exact suivant :
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...La for loop doit commencer avec l'index 0, utiliser i < products.size() comme condition et incrémenter i à chaque itération. Lors de l'affichage, ajoutez 1 à l'index afin d'afficher les numéros de position à partir de 1.
Essayez vous-même
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Lire le nombre de produits
int n;
cin >> n;
// Créer un vecteur pour stocker les noms des produits
vector<string> products;
// Lire les noms des produits et les ajouter au vecteur
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// TODO: Écrivez votre code ci-dessous
// Utilisez une boucle for traditionnelle pour parcourir le vecteur
// et afficher chaque produit avec son numéro de position
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Pointeurs et mémoire
Qu'est-ce qu'un pointeur ?Opérateur d'adresseOpérateur de déréférencementPointeurs nulsPointeurs et tableauxMémoire dynamique avec 'new'Libérer la mémoire avec 'delete'Récapitulatif - Pratique des pointeurs2Vecteurs (Tableaux dynamiques)
Introduction à std::vectorCréer un vecteurAjouter des élémentsAccéder aux élémentsTaille d'un vecteurItérer avec une boucle ForBoucle For basée sur l'intervalleSupprimer des élémentsRécapitulatif - Opérations sur les vecteurs3Projet : Outil de liste de tâches
Présentation du projetAjouter une tâcheEntraînez-vous par vous-même : Compilateur C++ en ligne