C ++ ugniježđena petlja (s primjerima)

U ovom uputstvu uz primjere ćemo naučiti o ugniježđenim petljama u C ++. Također ćemo naučiti o prekidu i nastaviti u Nested Loop.

Petlja unutar druge petlje naziva se ugniježđena petlja. Uzmimo primjer,

Pretpostavimo da želimo pet dana prolaziti kroz svaki dan u tjednu.

Da bismo to postigli, možemo stvoriti petlju za ponavljanje tri puta (3 tjedna). A unutar petlje možemo stvoriti još jednu petlju koja će se ponoviti 7 puta (7 dana). Tako možemo koristiti ugniježđene petlje.

Primjer: ugniježđeno za petlju

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

Izlaz

 Tjedan: 1 Dan: 1 Dan: 2 Dan: 3… Tjedan: 2 Dan: 1 Dan: 2 Dan: 3…… 

Možemo stvoriti ugniježđene petlje s while i raditi … dok na sličan način.

Primjer: Prikazivanje uzorka

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

Izlaz

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

U ovom se programu vanjska petlja ponavlja od 1do redaka.

Unutarnja petlja ponavlja se od 1do stupaca. Unutar unutarnje petlje ispisujemo lik '*'.

prekinite i nastavite unutar ugniježđenih petlji

Kada koristimo izjavu break unutar unutarnje petlje, ona završava unutarnju petlju, ali ne i vanjsku petlju. Na primjer,

Primjer: prekid unutar ugniježđenih petlji

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

Izlaz

 Tjedan: 1 Dan: 1 Dan: 2… Tjedan: 2 Tjedan: 3 Dan: 1 Dan: 2… 

Ovaj program ne pokreće unutarnju petlju kada je vrijednost i 2tj. Ne ispisuje dane 2. tjedna. Vanjska petlja koja ispisuje tjedne ne utječe.

Slično tome, kada koristimo naredbu continue unutar unutarnje petlje, preskače samo trenutnu iteraciju unutarnje petlje. Vanjska petlja nije pogođena. Na primjer,

Primjer: nastavite unutar ugniježđenih petlji

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

Izlaz

 Tjedan: 1 Dan: 2 Dan: 4 Dan: 6 Tjedan: 2 Dan: 2 Dan: 4 Dan: 6 Tjedan: 3 Dan: 2 Dan: 4 Dan: 6

Ovaj program ispisuje samo one parne dane.

Kad god je days_in_week neparan, continueizjava preskače tu iteraciju unutarnje petlje.

Zanimljivi članci...