https://youtu.be/m2ATF99oVXk?feature=shared
네, 제공해주신 수업 자료를 바탕으로 학생들이 이해하기 쉽도록 내용을 보충하고 구조를 다듬어 코딩 교재 형식으로 재구성해 드리겠습니다. 중구난방으로 흩어져 있던 개념들을 체계적으로 연결하고, 각 코드 예제에 대한 상세한 설명을 덧붙여 학습 효과를 높일 수 있도록 정리했습니다.
이번 장에서는 C++ 프로그래밍의 핵심 개념인 반복문을 한 단계 더 깊이 있게 배워봅니다. 반복문 안에 또 다른 반복문을 사용하는 이중 반복문의 구조를 이해하고, 이를 활용하여 구구단이나 2차원 배열과 같은 격자 형태의 데이터를 다루는 방법을 익힙니다. 또한, **나머지 연산자(%)**를 활용하여 숫자의 특성을 파악하고 조건에 맞는 데이터를 처리하는 실용적인 예제를 다룹니다.
단순한 작업의 반복을 넘어, 복잡하고 다차원적인 작업을 수행해야 할 때 이중 반복문이 사용됩니다. 이중 반복문은 바깥쪽 반복문이 한 번 실행될 때, 안쪽 반복문은 처음부터 끝까지 모두 실행되는 구조를 가집니다.
시계의 분침과 초침을 생각하면 쉽습니다. 분침(바깥쪽 반복문)이 한 칸 움직일 때마다, 초침(안쪽 반복문)은 60번을 모두 돌아야 합니다.
기본 구조:
#**include** <iostream>int main() {
// 바깥쪽 for문: j는 0, 1, 2 총 3번 반복합니다.
for (int j = 0; j < 3; j++)
{
// 안쪽 for문: k는 0, 1, 2 총 3번 반복합니다.
for (int k = 0; k < 3; k++)
{
// 이 구문은 바깥쪽 반복 1번에 대해 안쪽 반복 3번씩, 총 3 * 3 = 9번 실행됩니다.
std::cout << "j: " << j << ", k: " << k << std::endl;
}
std::cout << "--- 바깥쪽 루프 1회 종료 ---" << std::endl;
}
return 0;
}
이중 반복문의 가장 대표적인 활용 예제는 구구단입니다.
i
): 2단부터 9단까지, 단(Dan)을 결정합니다.j
): 각 단에 곱해지는 수(1부터 9까지)를 결정합니다.#**include** <iostream>int main()
{
// 2단부터 9단까지 반복
for (int i = 2; i < 10; i++)
{
// 새로운 단을 시작하기 전에 제목을 출력하고 한 줄 띄웁니다.
std::cout << "\\n--- " << i << "단 ---" << std::endl;
// 각 단에 1부터 9까지 곱하기
for (int j = 1; j < 10; j++)
{
// "i * j = (결과)" 형식으로 출력합니다.
std::cout << i << " * " << j << " = " << i * j << std::endl;
}
}
return 0;
}