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 vecteur, apprenons à traiter systématiquement chaque élément à l’aide d’une boucle for traditionnelle. Cette approche combine la méthode .size() avec un accès basé sur les indices pour parcourir chaque élément dans l’ordre.
Une boucle for traditionnelle utilise une variable d’indice qui commence à 0 et s’incrémente jusqu’à atteindre 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 boucle i < names.size() garantit que nous ne dépassons pas les limites du vecteur, tandis que names[i] accède à chaque élément à l’aide de l’index actuel. La boucle 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 est utile lorsque vous devez connaître la position de chaque élément ou lorsque vous souhaitez modifier des éléments pendant l’itération.
Note qu’une fois la boucle terminée, 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
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 - Puis
nchaînes 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 crochets
[]pour accéder à chaque élément par son index - Afficher chaque produit avec son numéro de position (à partir de 1) dans le format indiqué
Utilisez le format de sortie exact suivant :
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...La boucle for 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 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);
}
// TODO: Écrivez votre code ci-dessous
// Utilisez une boucle for traditionnelle pour parcourir le vecteur
// et affichez 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