Boucle imbriquée C ++ (avec exemples)

Dans ce didacticiel, nous allons découvrir les boucles imbriquées en C ++ à l'aide d'exemples. Nous allons également en apprendre davantage sur la pause et continuer dans la boucle imbriquée.

Une boucle dans une autre boucle est appelée une boucle imbriquée. Prenons un exemple,

Supposons que nous voulions parcourir chaque jour de la semaine pendant 3 semaines.

Pour y parvenir, nous pouvons créer une boucle à itérer trois fois (3 semaines). Et à l'intérieur de la boucle, nous pouvons créer une autre boucle pour itérer 7 fois (7 jours). C'est ainsi que nous pouvons utiliser des boucles imbriquées.

Exemple: boucle for imbriquée

 // C++ program to display 7 days of 3 weeks #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( cout << " Day:" << j << endl; ) ) return 0; )

Production

 Semaine: 1 Jour: 1 Jour: 2 Jour: 3… Semaine: 2 Jour: 1 Jour: 2 Jour: 3…… 

Nous pouvons créer des boucles imbriquées avec while et do… while de la même manière.

Exemple: affichage d'un motif

 // C++ program to display a pattern // with 5 rows and 3 columns #include using namespace std; int main() ( int rows = 5; int columns = 3; for (int i = 1; i <= rows; ++i) ( for (int j = 1; j <= columns; ++j) ( cout << "* "; ) cout << endl; ) return 0; )

Production

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

Dans ce programme, la boucle externe itère de 1à lignes.

La boucle interne effectue une itération de 1à colonnes. À l'intérieur de la boucle intérieure, nous imprimons le personnage '*'.

interrompre et continuer à l'intérieur des boucles imbriquées

Lorsque nous utilisons une instruction break à l'intérieur de la boucle interne, elle termine la boucle interne mais pas la boucle externe. Par exemple,

Exemple: casser à l'intérieur des boucles imbriquées

 #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) ) )

Production

 Semaine: 1 Jour: 1 Jour: 2… Semaine: 2 Semaine: 3 Jour: 1 Jour: 2… 

Ce programme n'exécute pas la boucle interne lorsque la valeur de i est 2c'est-à - dire qu'il n'imprime pas les jours de la 2ème semaine. La boucle externe qui imprime les semaines n'est pas affectée.

De même, lorsque nous utilisons une instruction continue à l'intérieur de la boucle interne, elle ignore uniquement l'itération actuelle de la boucle interne. La boucle externe n'est pas affectée. Par exemple,

Exemple: continuer à l'intérieur des boucles imbriquées

 #include using namespace std; int main() ( int weeks = 3, days_in_week = 7; for (int i = 1; i <= weeks; ++i) ( cout << "Week: " << i << endl; for (int j = 1; j <= days_in_week; ++j) ( // continue if the day is an odd number if (j % 2 != 0) ( continue; ) cout << " Day:" << j << endl; ) ) )

Production

 Semaine: 1 Jour: 2 Jour: 4 Jour: 6 Semaine: 2 Jour: 2 Jour: 4 Jour: 6 Semaine: 3 Jour: 2 Jour: 4 Jour: 6

Ce programme imprime uniquement les jours pairs.

Chaque fois que le days_in_week est impair, l' continueinstruction ignore cette itération de la boucle interne.

Articles intéressants...