Menu
Coddy logo textTech

Boucles imbriquées

Fait partie de la section Fundamentals 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. Pour chaque itération de la boucle externe, la boucle interne s'exécute complètement.

Créez une boucle externe qui s'exécute 3 fois :

for (int i = 0; i < 3; i++) {
    // Code de la boucle externe ici
}

Ajoutez une boucle imbriquée qui s'exécute 2 fois pour chaque itération de la boucle externe :

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

La sortie sera :

0,0 0,1 0,2 
1,0 1,1 1,2 

Remarquez comment la boucle interne termine ses itérations avant que la boucle externe ne passe à son itération suivante.

challenge icon

Défi

Facile

Créez un programme qui affiche un motif rectangulaire d'astérisques (*) basé sur le nombre de rows et de columns fourni par l'utilisateur.

Votre programme doit :

  1. Lire deux entiers de l'utilisateur : rows et columns.
  2. Utiliser des boucles imbriquées pour afficher un motif rectangulaire d'astérisques où la boucle externe gère rows et la boucle interne gère columns.
  3. Afficher un saut de ligne après chaque ligne.

Par exemple, si l'entrée est 3 rows et 4 columns, la sortie doit être :

**** 
**** 
****

Aide-mémoire

Les boucles imbriquées sont des boucles placées à l'intérieur d'une autre boucle. Pour chaque itération de la boucle externe, la boucle interne s'exécute complètement.

Structure de base d'une boucle imbriquée :

for (int i = 0; i < outer_limit; i++) {
    for (int j = 0; j < inner_limit; j++) {
        // Code de la boucle interne
    }
    // Code de la boucle externe
}

Exemple avec sortie :

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

Sortie :

0,0 0,1 0,2 
1,0 1,1 1,2

La boucle interne termine toutes ses itérations avant que la boucle externe ne passe à son itération suivante.

Essayez vous-même

#include <stdio.h>

int main() {
    int rows, columns;
    scanf("%d", &rows);
    scanf("%d", &columns);
    
    // Écrivez votre code ici pour imprimer le motif
    
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals