C ++ įdėta Lop (su pavyzdžiais)

Šioje pamokoje sužinosime apie įdėtas kilpas C ++. Mes išmoksime naudoti įdėtą programai, o ir daryti …, kol ciklas programoje.

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 įdėtą kilpą, kad kartotume tris kartus (3 savaites). Kilpos viduje mes galime sukurti dar vieną kilpą, kad pakartotume 7 kartus (7 dienas). Pavyzdžiui,

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 i == 1iki i == rows.

Vidinė kilpa kartojasi nuo j == 1iki j == columns. 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,

 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,

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