Boucles imbriquées
Fait partie de la section Fondamentaux du Journey C de Coddy. Leçon 43 sur 63.
Les boucles imbriquées sont des boucles placées à l’intérieur d’une autre boucle. À chaque itération de la boucle externe, la boucle interne s’exécute entièrement.
Créez une boucle externe qui s’exécute 3 fois :
for (int i = 0; i < 2; i++) {
// Code de la boucle externe ici
}Ajoutez une boucle interne qui s’exécute 3 fois pour chaque itération de la boucle externe :
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}Le résultat sera :
0,0 0,1 0,2
1,0 1,1 1,2 Remarque que la boucle interne termine ses itérations avant que la boucle externe passe à l’itération suivante. Chaque boucle a son propre compteur : j repart de 0 chaque fois que la boucle externe s’exécute, tandis que rows et cols restent identiques et indiquent uniquement aux boucles quand s’arrêter.
Défi
FacileCréez un programme qui affiche un motif de rectangle composé d’astérisques (*) en fonction du nombre de lignes et de colonnes fourni par l’utilisateur.
Votre programme doit :
- Lire deux entiers saisis par l’utilisateur : le nombre de lignes et de colonnes.
- Utiliser des boucles imbriquées pour afficher un motif de rectangle composé d’astérisques, la boucle externe gérant les lignes et la boucle interne les colonnes.
- Afficher un saut de ligne après chaque ligne.
Par exemple, si l’entrée indique 3 lignes et 4 colonnes, la sortie doit être :
****
****
****Utilisez un nouveau compteur pour chaque boucle (par exemple i pour les lignes et j pour les astérisques d’une ligne) et comparez-le à rows ou columns. Ne modifiez pas rows et columns eux-mêmes : chaque ligne a de nouveau besoin de columns.
Essayez vous-même
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// Écrivez votre code ici pour afficher le motif
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 Fondamentaux
2Variables
Types de donnéesEntierVirgule flottante - DoubleCaractèresBooléensConstantesBases de printfRègles de nommage des variablesConversion de type - Partie 1Conversion de type - Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d’affectationOpérateurs relationnelsOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Opérateurs logiques — Partie 3Défi récapitulatifEntraînez-vous par vous-même : Compilateur C en ligne