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 1
do riadkov.
Vnútorná slučka iteruje od 1
do 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 2
tj 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, continue
príkaz preskočí túto iteráciu vnútornej slučky.