C ++ sisäkkäinen lop (esimerkkien avulla)

Tässä opetusohjelmassa opitaan sisäkkäisistä silmukoista C ++: ssa. Opimme käyttämään sisäkkäisiä, kun ja teemme … samalla kun silmukoita ohjelmassa.

Toisen silmukan silmukkaa kutsutaan sisäkkäiseksi silmukaksi. Otetaan esimerkki,

Oletetaan, että haluamme käydä läpi viikon jokaisen päivän 3 viikon ajan.

Tämän saavuttamiseksi voimme luoda sisäkkäisen silmukan toistumaan kolme kertaa (3 viikkoa). Ja silmukan sisällä voimme luoda toisen silmukan iteroimaan 7 kertaa (7 päivää). Esimerkiksi,

Esimerkki: Sisäänrakennettu silmukalle

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

Tuotos

 Viikko: 1 päivä: 1 päivä: 2 päivä: 3… viikko: 2 päivä: 1 päivä: 2 päivä: 3…… 

Voimme luoda sisäkkäisiä silmukoita while-toiminnolla ja tehdä… samalla tavalla.

Esimerkki: Kuvion näyttäminen

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

Tuotos

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

Tässä ohjelmassa, ulompi silmukka iteroi kohteesta i == 1kohteeseen i == rows.

Sisempi silmukka iteroi kohteesta j == 1kohteeseen j == columns. Sisemmän silmukan sisällä tulostamme merkin '*'.

katkaise ja jatka sisäkkäisiä silmukoita

Kun käytämme katkoslauseketta sisemmän silmukan sisällä, se päättää sisäisen silmukan, mutta ei ulompaa silmukkaa. Esimerkiksi,

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

Tuotos

 Viikko: 1 päivä: 1 päivä: 2 … viikko: 2 viikko: 3 päivä: 1 päivä: 2… 

Tämä ohjelma ei suorita sisäistä silmukkaa, kun i: n arvo on, 2ts. Se ei tulosta toisen viikon päiviä. Viikkoja tulostava ulompi silmukka ei muutu.

Vastaavasti, kun käytämme jatkoslauseketta sisäisen silmukan sisällä, se ohittaa vain sisemmän silmukan nykyisen iteraation. Ulompaan silmukkaan ei vaikuteta. Esimerkiksi,

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

Tuotos

 Viikko: 1 päivä: 2 päivä: 4 päivä: 6 viikko: 2 päivä: 2 päivä: 4 päivä: 6 viikko: 3 päivä: 2 päivä: 4 päivä: 6

Tämä ohjelma tulostaa vain tasaiset päivät.

Aina kun days_in_week on pariton, continuelause ohittaa sisäisen silmukan iteraation.

Mielenkiintoisia artikkeleita...