C ++ ugnezdena zanka (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali ugnezdene zanke v jeziku C ++. Spoznali bomo tudi odmor in nadaljevali v gnezdeni zanki.

Zanka znotraj druge zanke se imenuje ugnezdena zanka. Vzemimo primer,

Recimo, da želimo 3 tedne ponavljati vsak dan v tednu.

Da bi to dosegli, lahko ustvarimo zanko za ponovitev trikrat (3 tedne). In znotraj zanke lahko ustvarimo še eno zanko, ki se ponovi 7-krat (7 dni). Tako lahko uporabimo ugnezdene zanke.

Primer: ugnezdeni za zanko

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

Izhod

 Teden: 1 dan: 1 dan: 2 dan: 3… teden: 2 dan: 1 dan: 2 dan: 3…… 

Ugnezdene zanke lahko ustvarimo z while in na podoben način naredimo … medtem ko.

Primer: prikaz vzorca

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

Izhod

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

V tem programu se zunanja zanka ponovi od 1do vrstic.

Notranja zanka se ponovi od 1do stolpcev. Znotraj notranje zanke natisnemo znak '*'.

prekinite in nadaljujte znotraj gnezdenih zank

Ko uporabimo izjavo break znotraj notranje zanke, ta zaključi notranjo zanko, ne pa tudi zunanje zanke. Na primer

Primer: prekinitev znotraj ugnezdenih zank

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

Izhod

 Teden: 1 dan: 1 dan: 2… teden: 2 teden: 3 dan: 1 dan: 2… 

Ta program ne zažene notranje zanke, kadar je vrednost i, 2tj. Ne natisne dni 2. tedna. Zunanja zanka, ki natisne tedne, ni prizadeta.

Podobno, ko uporabimo stavek continue znotraj notranje zanke, preskoči samo trenutno ponovitev notranje zanke. Zunanja zanka ni prizadeta. Na primer

Primer: nadaljevanje Znotraj ugnezdenih zank

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

Izhod

 Teden: 1 dan: 2 dan: 4 dan: 6 teden: 2 dan: 2 dan: 4 dan: 6 teden: 3 dan: 2 dan: 4 dan: 6

Ta program natisne samo tiste sodo dni.

Kadar je days_in_week nenavaden, continuestavek preskoči to ponovitev notranje zanke.

Zanimive Članki...