C++ 프로그래밍 코드를 사용하여 피라미드 형태의 구조를 출력하는 방법을 소개합니다. 피라미드의 높이와 공백 배치는 이중 for 루프 구조를 순회하면서 결정됩니다.
예제 코드
#include <iostream>
using namespace std;
int main() {
int space, rows=6;
for(int i = 1, k = 0; i <= rows; ++i, k = 0){
for(space = 1; space <= rows-i; ++space){
cout <<" ";
}
while(k != 2*i-1){
cout << "* ";
++k;
}
cout << endl;
}
return 0;
}실행 결과
위 코드를 컴파일하고 실행하면 아래와 같은 피라미드가 출력됩니다.
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *코드 작동 원리
이 코드가 피라미드를 만드는 과정은 다음과 같습니다.
1. 높이 설정: 변수 rows에 피라미드의 총 높이(6줄)를 지정합니다. 이 값을 변경하면 피라미드의 크기도 함께 조절됩니다.
2. 행 순회: 바깥쪽 for 루프는 각 행을 순서대로 처리합니다. 루프 변수 i는 현재 행 번호를 나타냅니다.
3. 공백 출력: 첫 번째 내부 for 루프는 rows - i개의 공백을 출력합니다. 행 번호가 증가할수록 공백의 개수가 줄어들어 피라미드가 가운데로 정렬되는 효과를 만듭니다.
4. 별 출력: while 루프는 2*i - 1개의 별(*)을 출력합니다. 즉, 첫 번째 행에는 1개, 두 번째 행에는 3개, 세 번째 행에는 5개와 같이 홀수 개수로 별이 증가합니다.
5. 줄바꿈: 각 행의 출력이 끝나면 endl을 통해 줄바꿈을 수행하고 다음 행으로 넘어갑니다.
이러한 패턴 출력 문제는 중첩 루프의 동작 원리를 익히는 데 매우 유용한 연습 예제이며, 이 응용으로 다이아몬드, 역피라미드 등 다양한 모양도 출력할 수 있습니다.