여기에서 우리는 C++를 사용하여 속이 빈 피라미드와 다이아몬드 패턴을 생성하는 방법을 볼 것입니다. 단단한 피라미드 패턴을 매우 쉽게 생성할 수 있습니다. 속을 비우려면 몇 가지 트릭을 추가해야 합니다.
중공 피라미드
피라미드의 경우 첫 번째 줄에 별 하나가 인쇄되고 마지막 줄에는 n개의 별이 인쇄됩니다. 다른 줄의 경우 줄의 시작과 끝에서 정확히 두 개의 별을 인쇄하며 이 두 시작 사이에 약간의 공백이 있습니다.
예시 코드
#include <iostream> using namespace std; int main() { int n, i, j; cout << "Enter number of lines: "; cin >> n; for(i = 1; i<=n; i++) { for(j = 1; j<=(n-i); j++) { //print the blank spaces before star cout << " "; } if(i == 1 || i == n) { //for the first and last line, print the stars continuously for(j = 1; j<=i; j++) { cout << "* "; } }else{ cout << "*"; //in each line star at start and end position for(j = 1; j<=2*i-3; j++) { //print space to make hollow cout << " "; } cout << "*"; } cout << endl; } }
출력
속이 빈 다이아몬드
첫 번째 줄과 마지막 줄에 있는 다이아몬드의 경우 별 하나가 인쇄됩니다. 다른 줄의 경우 줄의 시작과 끝에서 정확히 두 개의 별을 인쇄하고 이 두 시작 사이에 약간의 공백이 있습니다. 다이아몬드에는 두 부분이 있습니다. 상반부와 하반부. 위쪽 절반에서는 공간 수를 늘려야 하고 아래쪽 절반에서는 공간 수를 줄여야 합니다. 여기서 행 번호는 mid라는 다른 변수를 사용하여 두 부분으로 나눌 수 있습니다.
예시 코드
#include <iostream> using namespace std; int main() { int n, i, j, mid; cout << "Enter number of lines: "; cin >> n; if(n %2 == 1) { //when n is odd, increase it by 1 to make it even n++; } mid = (n/2); for(i = 1; i<= mid; i++) { for(j = 1; j<=(mid-i); j++) { //print the blank spaces before star cout << " "; } if(i == 1) { cout << "*"; }else{ cout << "*"; //in each line star at start and end position for(j = 1; j<=2*i-3; j++) { //print space to make hollow cout << " "; } cout << "*"; } cout << endl; } for(i = mid+1; i<n; i++) { for(j = 1; j<=i-mid; j++) { //print the blank spaces before star cout << " "; } if(i == n-1) { cout << "*"; }else{ cout << "*"; //in each line star at start and end position for(j = 1; j<=2*(n - i)-3; j++) { //print space to make hollow cout << " "; } cout << "*"; } cout << endl; } }
출력