알버트의 개발하는 블로그
C 언어 / C++ 언어 제8강 for 반복문 이용해서 피라미드 출력하기 (중첩 반복문) 본문
이번 시간에는 별피라미드를 출력하면서 반복문을 연습해보겠습니다.
함께 써볼 반복문을 for 반복문입니다. 이번 시간을 통해서 for 반복문이 어떻게 반복을 하게 되는지 배워보겠습니다.
일단 간단하게 빈 프로젝트를 만드시고 소스파일을 만드셔서 이 코드를 적어주세요.
대표사진 삭제
사진 설명을 입력하세요.
보시면 for문 안에 for문이 하나 더 들어간 것을 볼 수 있는데, 이것을 중첩 반복문이라고 합니다. 프로그래밍을 하기 위해선 중첩 반복문도 잘하셔야 합니다. 주석으로 간단하게 설명해놨는데요, 첫번째 for문은 별표시를 총 10번 찍고 줄바꾸는 작업까지의 과정을 총 10번 반복시켜줍니다.
그리고 두번째 for문은 별표시를 총 10번 반복해서 출력해주는데요. 두번째 for문이 끝난 뒤에 '\n'을 통해서 줄바꾸는 작업을 실행해줍니다. 그리고 나면, 다시 첫번째 for문으로 돌아가게 되겠죠?
그 다음 i는 1이 되고 또 실행해줍니다. i가 9가 될때까지 반복해주며 총 10회를 실시하게 됩니다.
자 한번 실행해보면??
대표사진 삭제
사진 설명을 입력하세요.
이처럼 별이 한줄에 10개씩 총 10줄이 출력된 것을 볼 수 있습니다.
다음으로, 이 코드를 적어주세요.
대표사진 삭제
사진 설명을 입력하세요.
이번엔 각 줄에 맞춰서 줄이 바뀔때마다 별표시를 한개씩 더 출력해보겠습니다.
여기선 두번째 for문의 조건만 살짝 바꿔주면 됩니다. 굉장히 간단하죠? 두번째 조건을 j < i + 1;로 바꿔주면 되는데요.
j는 변함이 없지만 i의 값은 줄이 바뀔때마다 바뀌게 됩니다. 그래서 줄이 바뀔때마다 i가 증가하므로, 별표시를 더 많이 찍게 됩니다. 한번 실행해볼까요?
대표사진 삭제
사진 설명을 입력하세요.
이렇게 실행이 된것을 볼 수 있습니다. 각줄이 바뀔때마다 i가 늘어나는 것을 이용해서 별을 더 많이 찍어주었습니다.
이번엔 한번 방금 피라미드에서 반대 모양의 피라미드를 찍어볼까요? 원리는 같습니다. for문의 변수인 i와 j를 요리해주면 됩니다.
대표사진 삭제
사진 설명을 입력하세요.
이렇게 코드를 적어주면 되는데요. 맨 첫줄에는 별표시를 10개찍어주어야 하겠죠? 그래서 초기값 j를 10으로 두었고, i값은 0으로 시작하게 됩니다. 그러면 총 10개를 찍을 겁니다. 그리고 나서 줄을 바꿔주겠죠.
두번째 줄은 어떻게 될까요? i는 1이 되겠죠. i가 1인 상태에서 두번째 for문을 돌려주면?
당연히 두번째 for문에 들어가있는 조건인 i가 1이 증가했으므로, 총 9개를 찍게 되는 것을 알 수 있습니다.
한번 실행해보겠습니다.
대표사진 삭제
사진 설명을 입력하세요.
짜잔~ 이렇게 멋진 역삼각형 피라미드가 출력이 된 것을 볼 수 있습니다.
이처럼, for문은 for문안에 들어가는 조건변수를 잘 요리해주면 프로그래밍을 맛깔나게 할 수 있답니다!
다음 시간부터는, 이제 본격적으로 약간 복잡한 프로그래밍을 해보도록 하겠습니다. 감사합니다~
'프로그래밍 언어 > C & C++' 카테고리의 다른 글
C 언어 / C++ 언어 제10강 비쥬얼 스튜디오 콘솔창 유지하기 (실행화면 유지) (0) | 2021.04.29 |
---|---|
C 언어 / C++ 언어 제9강 기본 1차원 배열 (0) | 2021.04.29 |
C 언어 / C++ 언어 제7강 반복문 (for문, while문, do while문) (0) | 2021.04.29 |
C 언어 / C++ 언어 제6강 조건문 (if문, else-if문, switch문) (0) | 2021.04.29 |
C 언어 / C++ 언어 비쥬얼 스튜디오 scanf 오류 해결 방법 (_s 붙이기, _CRT 붙이기) (0) | 2021.04.29 |