Вкладений цикл C ++ (з прикладами)

У цьому підручнику ми дізнаємося про вкладені цикли в C ++. Ми навчимось використовувати вкладені цикли для while, а також робити… while у програмі.

Цикл всередині іншого циклу називається вкладеним циклом. Візьмемо приклад,

Припустимо, ми хочемо повторювати кожен день тижня протягом 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…… 

Ми можемо створювати вкладені цикли за допомогою 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; )

Вихідні дані

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

У цій програмі зовнішній цикл повторюється від i == 1до i == rows.

Внутрішній цикл повторюється від j == 1до j == columns. Всередині внутрішнього циклу ми друкуємо символ '*'.

розірвати та продовжити Внутрішні вкладені цикли

Коли ми використовуємо оператор break всередині внутрішнього циклу, він завершує внутрішній цикл, але не зовнішній цикл. Наприклад,

 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 всередині внутрішнього циклу, він пропускає поточну ітерацію лише внутрішнього циклу. Зовнішня петля не зазнає змін. Наприклад,

 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оператор пропускає цю ітерацію внутрішнього циклу.

Цікаві статті...