C ++ вложен цикъл (с примери)

В този урок ще научим за вложени цикли в C ++ с помощта на примери. Също така ще научим за почивка и ще продължим в Nested Loop.

Цикъл в друг цикъл се нарича вложен цикъл. Нека вземем пример,

Да предположим, че искаме да повтаряме всеки ден от седмицата в продължение на 3 седмици.

За да постигнем това, можем да създадем цикъл за повторение три пъти (3 седмици). И вътре в цикъла можем да създадем друг цикъл, който да се повтори 7 пъти (7 дни). Ето как можем да използваме вложени цикли.

Пример: Вложен за Loop

 // 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…… 

Можем да създаваме вложени цикли с while и да правим … докато сме по подобен начин.

Пример: Показване на шаблон

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

Изход

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

В тази програма външният цикъл повтаря от 1до редове.

Вътрешният цикъл итерира от 1до колони. Във вътрешния цикъл отпечатваме символа '*'.

прекъснете и продължете Вътре вложени цикли

Когато използваме оператор break вътре във вътрешния цикъл, той прекратява вътрешния цикъл, но не и външния цикъл. Например,

Пример: прекъсване на вътрешните вложени цикли

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

Изход

 Седмица: 1 ден: 1 ден: 2 … седмица: 2 седмица: 3 ден: 1 ден: 2 … 

Тази програма не изпълнява вътрешния цикъл, когато стойността на i е, 2т.е. не отпечатва дните на 2-рата седмица. Външният цикъл, който отпечатва седмиците, не е засегнат.

По същия начин, когато използваме оператор continue във вътрешния цикъл, той пропуска текущата итерация само на вътрешния цикъл. Външният контур не е засегнат. Например,

Пример: продължете Вътре вложени цикли

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

Изход

 Седмица: 1 ден: 2 ден: 4 ден: 6 седмица: 2 ден: 2 ден: 4 ден: 6 седмица: 3 ден: 2 ден: 4 ден: 6

Тази програма отпечатва само онези дни, които са четни.

Винаги, когато days_in_week е странно, continueизявлението прескача тази итерация на вътрешния цикъл.

Интересни статии...