C ++ beágyazott hurok (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a C ++ beágyazott hurkait. Megtudhatjuk a break-et és a folytatást a Nested Loop-ban is.

Egy másik hurokban lévő hurokot beágyazott huroknak nevezzük. Vegyünk egy példát,

Tegyük fel, hogy a hét minden napján 3 hétig szeretnénk végigmenni.

Ennek elérése érdekében létrehozhatunk egy hurkot, amely háromszor (3 hét) ismétlődik. A hurok belsejében pedig létrehozhatunk egy újabb ciklust, amely 7-szer (7 nap) ismétlődik. Így használhatjuk a beágyazott hurkokat.

Példa: Beágyazva a hurokba

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

Kimenet

 Hét: 1 Nap: 1 Nap: 2 Nap: 3… Hét: 2 Nap: 1 Nap: 2 Nap: 3…… 

Hasonlóképpen létrehozhatunk beágyazott ciklusokat a while és a… műveletekkel.

Példa: Minta megjelenítése

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

Kimenet

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

Ebben a programban a külső hurok a sorokig iterál 1.

A belső hurok 1oszlopokig iterál . A belső hurkon belül kinyomtatjuk a karaktert '*'.

törje meg és folytassa az Inside Nested Loops alkalmazást

Ha a belső hurok belsejében egy törésmondatot használunk, akkor a belső hurok befejeződik, a külső hurok azonban nem. Például,

Példa: törje be a beágyazott hurkokat

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

Kimenet

 Hét: 1 Nap: 1 Nap: 2… Hét: 2 Hét: 3 Nap: 1 Nap: 2… 

Ez a program nem futtatja a belső ciklust, ha az i értéke 2azaz nem nyomtatja ki a 2. hét napjait. A héteket kinyomtató külső hurok nem változik.

Hasonlóképpen, amikor a folytatódási utasítást használjuk a belső hurokban, akkor csak a belső hurok aktuális iterációját hagyja ki. A külső hurok érintetlen. Például,

Példa: folytassa az Inside Nested Loops műveletet

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

Kimenet

 Hét: 1 nap: 2 nap: 4 nap: 6 hét: 2 nap: 2 nap: 4 nap: 6 hét: 3 nap: 2 nap: 4 nap: 6

Ez a program csak a páros napokat nyomtatja ki.

Amikor a days_in_week páratlan, az continueutasítás kihagyja a belső hurok iterációját.

érdekes cikkek...