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 vous savez comment accéder aux éléments individuels et vérifier la taille d'un vecteur, apprenons à traiter chaque élément systématiquement en utilisant une boucle for traditionnelle. Cette approche combine la méthode .size() avec l'accès par index pour visiter chaque élément en séquence.
Une boucle for traditionnelle utilise une variable d'index qui commence à 0 et s'incrémente jusqu'à ce qu'elle atteigne la taille du vecteur :
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 boucle i < names.size() garantit que nous ne dépassons pas les limites du vecteur, tandis que names[i] accède à chaque élément en utilisant l'index actuel. La boucle affichera chaque nom sur une ligne distincte.
Ce modèle est fondamental pour le traitement de 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 le rend utile lorsque vous avez besoin de connaître la position de chaque élément ou lorsque vous souhaitez modifier des éléments pendant l'itération.
Défi
FacileCréez un programme qui utilise une boucle for traditionnelle pour parcourir un vecteur de noms de produits et les afficher sous forme de liste numérotée.
Les entrées suivantes seront fournies :
- Un entier
nreprésentant le nombre de produits - Ensuite,
nchaînes de caractères représentant les noms des produits
Votre programme doit :
- Créer un
std::vector<std::string>nomméproducts - Utiliser
push_back()pour ajouter chacun desnnoms de produits au vecteur - Utiliser une boucle for traditionnelle avec une variable d'index pour parcourir le vecteur
- Dans la boucle, utiliser la méthode
.size()pour la condition de la boucle - Utiliser l'opérateur crochet
[]pour accéder à chaque élément par son index - Afficher chaque produit avec son numéro de position (en commençant par 1) dans le format spécifié
Utilisez exactement le format de sortie suivant :
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...La boucle for doit commencer à l'index 0, utiliser i < products.size() comme condition, et incrémenter i à chaque itération. Lors de l'affichage, ajoutez 1 à l'index pour afficher les numéros de position en commençant par 1.
Aide-mémoire
Utilisez une boucle for traditionnelle pour parcourir un vecteur en combinant .size() avec un accès basé sur l'index :
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}La condition de la boucle i < names.size() garantit que vous ne dépassez pas les limites du vecteur, tandis que names[i] accède à chaque élément en utilisant l'index actuel. La variable d'index vous donne un contrôle précis sur l'élément avec lequel vous travaillez et vous permet de connaître la position de chaque élément.
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 de produits
vector<string> products;
// Lire les noms de produits et les ajouter au vecteur
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// À FAIRE : Écrivez votre code ci-dessous
// Utiliser 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âche