C ++ ugnezdeni lop (z primeri)

V tej vadnici bomo spoznali ugnezdene zanke v jeziku C ++. Naučili se bomo uporabljati ugnezdene zanke za, while in do … while v programu.

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 ugnezdeno zanko za ponovitev trikrat (3 tedne). In znotraj zanke lahko ustvarimo še eno zanko, ki se ponovi 7-krat (7 dni). Na primer

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

Notranja zanka se ponavlja od j == 1do j == columns. 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

 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

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