Vòng lặp lồng nhau trong C ++ (Có ví dụ)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các vòng lặp lồng nhau trong C ++ với sự trợ giúp của các ví dụ. Chúng ta cũng sẽ tìm hiểu về ngắt và tiếp tục trong Vòng lặp lồng nhau.

Một vòng lặp trong vòng lặp khác được gọi là vòng lặp lồng nhau. Hãy lấy một ví dụ,

Giả sử chúng ta muốn lặp lại từng ngày trong tuần trong 3 tuần.

Để đạt được điều này, chúng ta có thể tạo một vòng lặp để lặp lại ba lần (3 tuần). Và bên trong vòng lặp, chúng ta có thể tạo một vòng lặp khác để lặp lại 7 lần (7 ngày). Đây là cách chúng ta có thể sử dụng các vòng lặp lồng nhau.

Ví dụ: Lồng nhau cho Vòng lặp

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

Đầu ra

 Tuần: 1 Ngày: 1 Ngày: 2 Ngày: 3… Tuần: 2 Ngày: 1 Ngày: 2 Ngày: 3…… 

Chúng ta có thể tạo các vòng lặp lồng nhau với while và do… while theo cách tương tự.

Ví dụ: Hiển thị một mẫu

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

Đầu ra

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

Trong chương trình này, vòng lặp ngoài lặp lại từ 1hàng này sang hàng khác.

Vòng lặp bên trong lặp từ 1cột đến cột. Bên trong vòng lặp bên trong, chúng tôi in ký tự '*'.

ngắt và tiếp tục Bên trong Vòng lặp lồng nhau

Khi chúng ta sử dụng một câu lệnh break bên trong vòng lặp bên trong, nó sẽ kết thúc vòng lặp bên trong nhưng không kết thúc vòng lặp bên ngoài. Ví dụ,

Ví dụ: break Inside Nested Loops

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

Đầu ra

 Tuần: 1 Ngày: 1 Ngày: 2… Tuần: 2 Tuần: 3 Ngày: 1 Ngày: 2… 

Chương trình này không chạy vòng lặp bên trong khi giá trị của i là 2nó không in các ngày của tuần thứ 2. Vòng lặp bên ngoài in các tuần không bị ảnh hưởng.

Tương tự, khi chúng ta sử dụng câu lệnh continue bên trong vòng lặp bên trong, nó chỉ bỏ qua lần lặp hiện tại của vòng lặp bên trong. Vòng ngoài không bị ảnh hưởng. Ví dụ,

Ví dụ: tiếp tục Bên trong các Vòng lặp lồng nhau

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

Đầu ra

 Tuần: 1 Ngày: 2 Ngày: 4 Ngày: 6 Tuần: 2 Ngày: 2 Ngày: 4 Ngày: 6 Tuần: 3 Ngày: 2 Ngày: 4 Ngày: 6

Chương trình này chỉ in những ngày chẵn.

Bất cứ khi nào days_in_week là số lẻ, continuecâu lệnh sẽ bỏ qua bước lặp đó của vòng lặp bên trong.

thú vị bài viết...