„C ++“ įdėta kilpa (su pavyzdžiais)

Šioje pamokoje pavyzdžių pagalba sužinosime apie įdėtas kilpas C ++. Mes taip pat sužinosime apie pertraukas ir tęsime „Nested Loop“.

Kitos kilpos kilpa vadinama įdėta kilpa. Paimkime pavyzdį,

Tarkime, kad norime 3 savaites perskaityti kiekvieną savaitės dieną.

Norėdami tai pasiekti, galime sukurti kartotinį kartojimą tris kartus (3 savaites). Kilpos viduje mes galime sukurti dar vieną kilpą, kad pakartotume 7 kartus (7 dienas). Taip galime naudoti įdėtas kilpas.

Pavyzdys: įdėta į „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; )

Rezultatas

 Savaitė: 1 diena: 1 diena: 2 diena: 3… savaitė: 2 diena: 1 diena: 2 diena: 3…… 

Mes galime sukurti įdėtas kilpas su while ir daryti … būdami panašiai.

Pavyzdys: šablono rodymas

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

Rezultatas

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

Šioje programoje išorinė kilpa kartojasi nuo 1eilutės.

Vidinė kilpa kartojasi nuo 1kolonų. Vidinės kilpos viduje atspausdiname personažą '*'.

pertrauka ir tęskite vidines įdėtas kilpas

Kai vidinės kilpos viduje naudojame pertraukos teiginį, jis nutraukia vidinę, bet ne išorinę. Pavyzdžiui,

Pavyzdys: pertraukite vidines įdėtas kilpas

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

Rezultatas

 Savaitė: 1 diena: 1 diena: 2 … savaitė: 2 savaitė: 3 diena: 1 diena: 2 … 

Ši programa nevykdo vidinės kilpos, kai i reikšmė yra, 2ty ji nespausdina 2-osios savaitės dienų. Tai neturi įtakos išorinei kilpai, kuri spausdina savaites.

Panašiai, kai vidinės kilpos viduje naudojame tęsinį, jis praleidžia tik dabartinę vidinės kilpos iteraciją. Išorinė kilpa neturi įtakos. Pavyzdžiui,

Pavyzdys: tęskite vidines įdėtas kilpas

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

Rezultatas

 Savaitė: 1 diena: 2 diena: 4 diena: 6 savaitė: 2 diena: 2 diena: 4 diena: 6 savaitė: 3 diena: 2 diena: 4 diena: 6

Ši programa spausdina tik tas dienas, kurios yra lygios.

Kai dienų_savaitė yra nelyginė, continueteiginys praleidžia tą vidinės kilpos iteraciją.

Įdomios straipsniai...