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 1
riveistä.
Sisäinen silmukka toistuu 1
sarakkeista. 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, 2
ts. 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, continue
lause ohittaa sisäisen silmukan iteraation.