C++을 몇 일 접하지 않은 상태에서는
꽤나 까다로울 수 있을 것이다.
Tip은 중간의 별의 갯수를 지정한다.
size와 blank(공백)을
while문 안에서 for문을 2개 돌린다.
여기서 while문을 2개 돌리는데
하나는 별이 늘어나도록
나머지 하나는 별이 줄어들도록 돌리는 것이다.
int main()
{
int size;
int blank;
int star = 1;
cout << ":";
cin >> size; // 중간의 별 갯수
blank = size / 2;
while (1) //위쪽 별 갯수 늘어나도록
{
for (int x = 0; x < blank; x++){
cout << " ";
}
for (int y = 0; y < star; y++){
cout << "*";
}
if (blank <= 0)
break;
blank--;
star += 2;
cout << endl;
}
cout << endl;
int blank2 = 1;
int star2 = size - 2; //size 임의의 수
while (1) //밑쪽 별 갯수 줄어들도록
{
if (size % 2 == 1) // 홀수
{
for (int i = 0; i < blank2; i++){
cout << " ";
}
for (int j = 0; j < star2; j++){
cout << "*";
}
cout << endl;
blank2 += 1;
star2 -= 2;
if (star2 < 0)
break;
}else{
for (int i = 0; i < blank2; i++){
cout << " ";
}
for (int j = 0; j <= star2; j++){
cout << "*";
}
cout << endl;
blank2 += 1;
star2 -= 2;
if (star2 < 0)
break;
}
}
return 0;
}
'Language > C++ & openGL' 카테고리의 다른 글
C++기초 배열 원소들의 순서를 역순서로 Reverse Array function, 동적 메모리 할당 Power C++ p294 5 (0) | 2019.01.09 |
---|---|
C++기초 연산과 횟수[static] 정적 변수 (0) | 2019.01.09 |
C++기초 함수 활용 3의 제곱수 (0) | 2019.01.08 |
C++기초 함수호출 (0) | 2019.01.08 |
C++기초 알파벳 대문자를 소문자로 소문자를 대문자로 변환 / 반복문 (0) | 2019.01.08 |
댓글