C ++ nestet løkke (med eksempler)

I denne opplæringen vil vi lære om nestede sløyfer i C ++ ved hjelp av eksempler. Vi vil også lære om pause og fortsette i Nested Loop.

En sløyfe i en annen sløyfe kalles en nestet sløyfe. La oss ta et eksempel,

Anta at vi ønsker å gå gjennom hver dag i en uke i 3 uker.

For å oppnå dette kan vi lage en løkke for å gjenta tre ganger (3 uker). Og inne i sløyfen kan vi lage en ny sløyfe for å gjentas 7 ganger (7 dager). Slik kan vi bruke nestede løkker.

Eksempel: Nestet for Loop

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

Produksjon

 Uke: 1 dag: 1 dag: 2 dag: 3… uke: 2 dag: 1 dag: 2 dag: 3…… 

Vi kan lage nestede løkker med mens og gjør … mens vi er på en lignende måte.

Eksempel: Vise et mønster

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

Produksjon

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

I dette programmet går den ytre sløyfen fra 1til rader.

Den indre sløyfen går fra 1til kolonner. Inne i den indre sløyfen trykker vi karakteren '*'.

bryt og fortsett Inside Nested Loops

Når vi bruker et brudduttalelse inne i den indre sløyfen, avslutter den den indre sløyfen, men ikke den ytre sløyfen. For eksempel,

Eksempel: break 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) ( // break during the 2nd week if (i == 2) ( break; ) cout << " Day:" << j << endl; ) ) )

Produksjon

 Uke: 1 dag: 1 dag: 2 … uke: 2 uke: 3 dag: 1 dag: 2 … 

Dette programmet kjører ikke den indre sløyfen når verdien på i er, 2dvs. at den ikke skriver ut dagene i 2. uke. Den ytre sløyfen som skriver ut ukene er upåvirket.

Tilsvarende, når vi bruker en fortsettelsesuttalelse inne i den indre sløyfen, hopper den bare over gjeldende iterasjon av den indre sløyfen. Den ytre sløyfen er upåvirket. For eksempel,

Eksempel: fortsett inne i nestede looper

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

Produksjon

 Uke: 1 dag: 2 dag: 4 dag: 6 uke: 2 dag: 2 dag: 4 dag: 6 uke: 3 dag: 2 dag: 4 dag: 6

Dette programmet skriver bare ut de dagene som er jevne.

Når dager_in_uke er merkelige, continuehopper utsagnet over iterasjonen av den indre sløyfen.

Interessante artikler...