Menu
CoddyTech

Boucles imbriquées

Fait partie de la section Fondamentaux du Journey Rust de Coddy. Leçon 41 sur 75.

Une boucle imbriquée est simplement une boucle à l’intérieur d’une autre boucle. La boucle interne effectuera toutes ses itérations pour chaque itération de la boucle externe. Une horloge en est une bonne analogie : pour chaque heure (boucle externe), l’aiguille des minutes (boucle interne) doit effectuer son cycle complet de 60 minutes.

Exemple de boucle imbriquée :

let rows = 2;
let cols = 2;
for x in 0..rows {
    for y in 0..cols {
        println!("{} {}", x, y);
    }
}
// Cela affichera :
// 0 0
// 0 1
// 1 0
// 1 1

La boucle externe (x) s’exécute rows fois, et pour chacune de ces fois, la boucle interne (y) s’exécute cols fois. Chaque boucle a son propre compteur : y repart de 0 à chaque exécution de la boucle externe, tandis que rows et cols restent identiques et indiquent uniquement aux boucles quand s’arrêter.

challenge icon

Défi

Débutant

Écris un programme qui affiche un rectangle d’astérisques (*) avec une largeur et une hauteur données.

Entrée : deux entiers : width et height (le code de départ les lit déjà).

Par exemple :

Si width = 5 et height = 3, la sortie doit être :

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

Si width = 4 et height = 6, la sortie doit être :

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

Utilise un nouveau compteur pour chaque boucle (par exemple i pour les lignes et j pour les astérisques d’une ligne) et compare-le à height ou à width. Ne modifie pas height et width eux-mêmes : chaque ligne a de nouveau besoin de width.

Essayez vous-même

use std::io;

fn main() {
    let mut width_input = String::new();
    let mut height_input = String::new();
    io::stdin().read_line(&mut width_input).unwrap();
    io::stdin().read_line(&mut height_input).unwrap();
    let width: i32 = width_input.trim().parse().unwrap();
    let height: i32 = height_input.trim().parse().unwrap();
    // Écrivez votre code ci-dessous

}
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 Fondamentaux

Entraînez-vous par vous-même : Compilateur Rust en ligne