C ++ geneste lus (met voorbeelden)

In deze tutorial leren we met behulp van voorbeelden over geneste lussen in C ++. We zullen ook leren over pauze en doorgaan in geneste lus.

Een lus binnen een andere lus wordt een geneste lus genoemd. Laten we een voorbeeld nemen,

Stel dat we elke dag van een week drie weken lang willen doorlopen.

Om dit te bereiken, kunnen we een lus maken om drie keer (3 weken) te herhalen. En binnen de lus kunnen we nog een lus maken om 7 keer (7 dagen) te herhalen. Dit is hoe we geneste lussen kunnen gebruiken.

Voorbeeld: genest voor lus

 // 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; )

Uitvoer

 Week: 1 Dag: 1 Dag: 2 Dag: 3… Week: 2 Dag: 1 Dag: 2 Dag: 3…… 

We kunnen geneste loops maken met while en doen … while op een vergelijkbare manier.

Voorbeeld: een patroon weergeven

 // 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; )

Uitvoer

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

In dit programma herhaalt de buitenste lus van 1rijen.

De binnenste lus herhaalt zich van 1kolommen tot. Binnen de binnenste lus drukken we het personage af '*'.

breek en ga verder met Inside Nested Loops

Wanneer we een break-statement binnen de binnenste lus gebruiken, wordt de binnenste lus beëindigd, maar niet de buitenste lus. Bijvoorbeeld,

Voorbeeld: breek binnen geneste lussen

 #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; ) ) )

Uitvoer

 Week: 1 Dag: 1 Dag: 2… Week: 2 Week: 3 Dag: 1 Dag: 2… 

Dit programma voert de binnenste lus niet uit als de waarde van i is, 2dwz het drukt de dagen van de 2e week niet af. De buitenste lus die de weken afdrukt, wordt niet beïnvloed.

Evenzo, wanneer we een continue instructie binnen de binnenste lus gebruiken, wordt alleen de huidige iteratie van de binnenste lus overgeslagen. De buitenste lus wordt niet beïnvloed. Bijvoorbeeld,

Voorbeeld: ga door met Inside Nested Loops

 #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; ) ) )

Uitvoer

 Week: 1 Dag: 2 Dag: 4 Dag: 6 Week: 2 Dag: 2 Dag: 4 Dag: 6 Week: 3 Dag: 2 Dag: 4 Dag: 6

Dit programma drukt alleen die dagen af ​​die even zijn.

Wanneer de dagen_in_week oneven is, continueslaat de instructie die iteratie van de binnenste lus over.

Interessante artikelen...