Vnorená slučka v C ++ (s príkladmi)

V tomto tutoriále sa pomocou príkladov dozvieme o vnorených slučkách v C ++. Dozvieme sa tiež o break a budeme pokračovať v vnorenej slučke.

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ť cyklus opakovania 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í). Takto môžeme použiť vnorené slučky.

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 1do riadkov.

Vnútorná slučka iteruje od 1do stĺpcov. 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,

Príklad: zlom vo vnútri vnorených slučiek

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

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,

Príklad: pokračujte vo vnútri vnorených slučiek

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

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