C ++ sisäkkäinen silmukka (esimerkkien kanssa)

Tässä opetusohjelmassa opitaan C ++: n sisäkkäisistä silmukoista esimerkkien avulla. Opimme myös taukoja ja jatkamme Nested Loopissa.

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 silmukan, joka toistaa kolme kertaa (3 viikkoa). Ja silmukan sisällä voimme luoda toisen silmukan iteroimaan 7 kertaa (7 päivää). Näin voimme käyttää sisäkkäisiä silmukoita.

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 toistuu 1riveistä.

Sisäinen silmukka toistuu 1sarakkeista. 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,

Esimerkki: katkaise sisäkkäiset silmukat

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

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,

Esimerkki: jatka sisäkkäisten silmukoiden sisäpuolella

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

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