Ц ++ угнежђени лоп (са примерима)

У овом упутству ћемо научити о угнежђеним петљама у Ц ++. Научићемо да користимо угнежђене петље за вхиле, анд до… вхиле у програму.

Петља унутар друге петље назива се угнежђена петља. Узмимо пример,

Претпоставимо да желимо да понављамо сваки дан у недељи током 3 недеље.

Да бисмо то постигли, можемо створити угнежђену петљу која ће се понављати три пута (3 недеље). А унутар петље можемо створити још једну петљу која ће се поновити 7 пута (7 дана). На пример,

Пример: угнежђено за петљу

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

Оутпут

 Недеља: 1 дан: 1 дан: 2 дан: 3… недеља: 2 дан: 1 дан: 2 дан: 3…… 

Можемо да направимо угнежђене петље са вхиле и радимо … док на сличан начин.

Пример: Приказивање узорка

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

Оутпут

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

У овом програму, спољна петља се понавља од i == 1до i == rows.

Унутрашња петља се понавља од j == 1до j == columns. Унутар унутрашње петље исписујемо лик '*'.

прекините и наставите Унутар угнежђених петљи

Када користимо изјаву бреак унутар унутрашње петље, она прекида унутрашњу петљу, али не и спољну. На пример,

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

Оутпут

 Недеља: 1 дан: 1 дан: 2… недеља: 2 недеља: 3 дан: 1 дан: 2… 

Овај програм не покреће унутрашњу петљу када је вредност и 2тј. Не исписује дане 2. недеље. Не утиче спољна петља која штампа недеље.

Слично томе, када користимо наредбу цонтинуе унутар унутрашње петље, она прескаче само тренутну итерацију унутрашње петље. Вањска петља није погођена. На пример,

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

Оутпут

 Недеља: 1 дан: 2 дан: 4 дан: 6 недеља: 2 дан: 2 дан: 4 дан: 6 недеља: 3 дан: 2 дан: 4 дан: 6

Овај програм штампа само оне парне дане.

Кад год је даис_ин_веек чудан, continueизјава прескаче ту итерацију унутрашње петље.

Занимљиви Чланци...