C ++ vnorený lop (s príkladmi)

V tomto tutoriále sa dozvieme o vnorených slučkách v C ++. Naučíme sa v programe používať vnorené cykly while, while a do … while.

Smyčka v rámci inej slučky sa nazýva vnorená slučka. Zoberme si príklad,

Predpokladajme, že chceme prechádzať každý deň v týždni 3 týždne.

Aby sme to dosiahli, môžeme vytvoriť vnorenú slučku, aby sme iterovali trikrát (3 týždne). A vo vnútri slučky môžeme vytvoriť ďalšiu slučku na opakovanie 7-krát (7 dní). Napríklad,

Príklad: Vnorené pre slučku

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

Výkon

 Týždeň: 1 deň: 1 deň: 2 deň: 3… Týždeň: 2 deň: 1 deň: 2 deň: 3…… 

Môžeme vytvárať vnorené slučky s while a robiť … zatiaľ čo podobným spôsobom.

Príklad: Zobrazenie vzoru

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

Výkon

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

V tomto programe vonkajšia slučka iteruje od i == 1do i == rows.

Vnútorná slučka iteruje od j == 1do j == columns. Vo vnútri vnútornej slučky vytlačíme znak '*'.

zlomiť a pokračovať vo vnútri vnorených slučiek

Keď použijeme príkaz break vo vnútornej slučke, ukončí sa vnútorná slučka, ale nie vonkajšia slučka. Napríklad,

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

Výkon

 Týždeň: 1 deň: 1 deň: 2… Týždeň: 2 Týždeň: 3 Deň: 1 Deň: 2… 

Tento program nespúšťa vnútornú slučku, keď je hodnota i 2tj tj. Netlačí dni 2. týždňa. Vonkajšia slučka, ktorá tlačí týždne, nie je ovplyvnená.

Podobne, keď použijeme príkaz continue vo vnútornej slučke, preskočí iba aktuálnu iteráciu vnútornej slučky. Vonkajšia slučka nie je ovplyvnená. Napríklad,

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

Výkon

 Týždeň: 1 deň: 2 deň: 4 deň: 6 týždeň: 2 deň: 2 deň: 4 deň: 6 týždeň: 3 deň: 2 deň: 4 deň: 6

Tento program tlačí iba tie dni, ktoré sú párne.

Kedykoľvek je days_in_week nepárny, continuepríkaz preskočí túto iteráciu vnútornej slučky.

Zaujímavé články...