Vnořená smyčka v C ++ (s příklady)

V tomto tutoriálu se pomocí příkladů naučíme vnořené smyčky v C ++. Dozvíme se také o přestávce a pokračujeme v Nested Loop.

Smyčka v jiné smyčce se nazývá vnořená smyčka. Vezměme si příklad,

Předpokládejme, že chceme procházet každý den v týdnu po dobu 3 týdnů.

Abychom toho dosáhli, můžeme vytvořit smyčku k iteraci třikrát (3 týdny). A uvnitř smyčky můžeme vytvořit další smyčku k iteraci 7krát (7 dní). Takto můžeme použít vnořené smyčky.

Příklad: Vnořeno pro smyč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ýstup

 Týden: 1 den: 1 den: 2 den: 3… Týden: 2 den: 1 den: 2 den: 3…… 

Můžeme vytvářet vnořené smyčky s while a dělat … while podobným způsobem.

Příklad: Zobrazení 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ýstup

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

V tomto programu vnější smyčka iteruje od 1do řádků.

Vnitřní smyčka iteruje od 1do sloupců. Uvnitř vnitřní smyčky vytiskneme znak '*'.

rozbijte a pokračujte uvnitř vnořených smyček

Když použijeme příkaz break uvnitř vnitřní smyčky, ukončí vnitřní smyčku, ale ne vnější smyčku. Například,

Příklad: rozbít Inside Nested Loops

 #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ýstup

 Týden: 1 den: 1 den: 2… Týden: 2 Týden: 3 Den: 1 Den: 2… 

Tento program nespustí vnitřní smyčku, když je hodnota i, 2tj. Nevytiskne dny 2. týdne. Vnější smyčka, která tiskne týdny, není ovlivněna.

Podobně, když použijeme příkaz continue uvnitř vnitřní smyčky, přeskočí pouze aktuální iteraci vnitřní smyčky. Vnější smyčka není ovlivněna. Například,

Příklad: pokračujte uvnitř vnořených smyček

 #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ýstup

 Týden: 1 den: 2 den: 4 den: 6 týden: 2 den: 2 den: 4 den: 6 týden: 3 den: 2 den: 4 den: 6

Tento program tiskne pouze ty dny, které jsou sudé.

Kdykoli je days_in_week lichý, continuepříkaz přeskočí tuto iteraci vnitřní smyčky.

Zajímavé články...