Menu
CoddyTech

Vòng lặp lồng nhau

Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 48 trên 74.

Vòng lặp lồng nhau đơn giản là một vòng lặp nằm bên trong một vòng lặp khác. Vòng lặp bên trong sẽ hoàn thành tất cả các lần lặp của nó cho mỗi lần lặp của vòng lặp bên ngoài.

Một ví dụ dễ hình dung là chiếc đồng hồ: với mỗi giờ (vòng lặp bên ngoài), kim phút (vòng lặp bên trong) phải hoàn thành trọn chu kỳ 60 phút.

Ví dụ về vòng lặp lồng nhau:

int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
	for (int y = 0; y < cols; y++) {
		std::cout << x << " " << y << std::endl;
	}
}
// Đoạn code này sẽ in ra:
// 0 0
// 0 1
// 1 0
// 1 1

Vòng lặp ngoài (x) chạy rows lần, và mỗi lần như vậy, vòng lặp trong (y) chạy cols lần. Mỗi vòng lặp có bộ đếm riêng: y bắt đầu lại từ 0 mỗi khi vòng lặp ngoài chạy, còn rows và cols giữ nguyên và chỉ cho các vòng lặp biết khi nào cần dừng.

challenge icon

Thử thách

Người mới

Viết chương trình in ra một hình chữ nhật bằng dấu hoa thị (*) với chiều rộng và chiều cao cho trước.

Đầu vào: Hai số nguyên: width và height (code khởi tạo đã đọc các giá trị này).

Ví dụ:

Nếu width = 5 và height = 3, đầu ra sẽ là:

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

Nếu width = 4 và height = 6, đầu ra sẽ là:

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

Dùng một biến đếm mới cho mỗi vòng lặp (ví dụ: i cho các hàng và j cho các dấu hoa thị trong một hàng) rồi so sánh biến đó với height hoặc width. Đừng thay đổi chính height và width: mỗi hàng cần dùng lại width.

Tự làm thử

#include <iostream>

int main() {
    int width, height;
    std::cin >> width >> height;
    // Viết code của bạn bên dưới

    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C++ online