C ++ ugniježđeni lop (s primjerima)

U ovom uputstvu naučit ćemo o ugniježđenim petljama u C ++. Naučit ćemo koristiti ugniježđene petlje za, while i do … while u programu.

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 ugniježđenu petlju za ponavljanje tri puta (3 tjedna). A unutar petlje možemo stvoriti još jednu petlju koja će se ponoviti 7 puta (7 dana). Na primjer,

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 programu vanjska petlja ponavlja od i == 1do i == rows.

Unutarnja petlja ponavlja se od j == 1do j == columns. 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,

 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,

 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...