Menu
CoddyTech

Boucles imbriquées

Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 49 sur 86.

Une boucle imbriquée est simplement une boucle à l’intérieur d’une autre boucle. La boucle interne effectue toutes ses itérations pour chaque itération de la boucle externe.

let rows = 3
let cols = 2
for row in 1...rows {
    for col in 1...cols {
        print("Row \(row), Col \(col)")
    }
}
// Sortie :
// Row 1, Col 1
// Row 1, Col 2
// Row 2, Col 1
// Row 2, Col 2
// Row 3, Col 1
// Row 3, Col 2

Pour chaque valeur de row, la boucle interne recommence et parcourt toutes les valeurs de col, de 1 à cols. Ainsi, avec rows = 3 et cols = 2, le code à l’intérieur s’exécute 6 fois au total (3 × 2). rows et cols ne changent jamais : ils indiquent seulement aux boucles quand s’arrêter.

Les boucles imbriquées sont couramment utilisées pour travailler avec des structures en forme de grille ou pour générer des motifs.

Voici un exemple qui affiche un simple rectangle d’astérisques :

for row in 1...2 {
    for col in 1...4 {
        print("*", terminator: "")
    }
    print("")  // Passer à la ligne suivante
}
// Sortie :
// ****
// ****

Le terminator: "" empêche print d’ajouter un saut de ligne, de sorte que les astérisques apparaissent sur la même ligne. Une fois la boucle interne terminée, print("") passe à la ligne suivante.

challenge icon

Défi

Facile

Lis deux entiers depuis l’entrée : rows et cols. Utilise des boucles imbriquées pour afficher une grille de nombres où chaque cellule affiche le produit de son numéro de ligne par son numéro de colonne.

Tu recevras les entrées suivantes :

  • Première ligne : nombre de lignes (par exemple, "3")
  • Deuxième ligne : nombre de colonnes (par exemple, "4")

Exigences :

  • Utilise une boucle externe pour les lignes (de 1 à rows)
  • Utilise une boucle interne pour les colonnes (de 1 à cols)
  • Affiche le produit des numéros de la ligne et de la colonne actuelles
  • Sépare les valeurs d’une même ligne par un espace
  • Chaque ligne doit être affichée sur sa propre ligne

Indice : Utilise terminator: " " pour garder les valeurs sur la même ligne, puis utilise print("") après la boucle interne pour passer à la ligne suivante.

Par exemple, si rows vaut 3 et cols vaut 4, la sortie devrait être :

1 2 3 4 
2 4 6 8 
3 6 9 12 

Utilise un nouveau compteur pour chaque boucle (par exemple, row pour les lignes et col pour les nombres d’une ligne) et compare-le à rows ou cols. Ne modifie pas rows et cols eux-mêmes : chaque ligne a besoin de cols à nouveau.

Essayez vous-même

let rows = Int(readLine()!)!
let cols = Int(readLine()!)!

// TODO: Écrivez votre code ci-dessous
// Utilisez des boucles imbriquées pour afficher une grille de multiplication
// Boucle externe : parcourez les lignes (1 à rows)
// Boucle interne : parcourez les colonnes (1 à cols)
// Affichez le produit de row * column
// Utilisez print(..., terminator: " ") pour conserver les valeurs sur la même ligne
// Utilisez print("") après la boucle interne pour passer à la ligne suivante
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 : Playground Swift