처음 프로그래밍 언어를 배울때 for 나 while등 반복문의 이해와 응용을 시험하기위해
이등변삼각형, 직각삼각형, 다이아몬드 등을 *을 이용하여 찍는 연습을 많이 한다.
그중에 정오각형은 많이 나와 있지 않은것 같아서 올려둔다..
일단 오각형의 기본 개념은 정삼각형 + 상하비대칭 사각형 이라고 말해두겠다
2개의 이중for문을 사용하여 구현 했으며
기본적으로 2가지 정보를 사용자에게 입력받는다 bt와 hi
bt는 밑변의 길이
hi는 높이의 길이
정오각형에서는 hi는 크게 의미는 없지만
값을 받을때 항상
33
55
77
홀수 그리고 정오각형이 되도록 값을 받아야 한다.
그리고 좀더 정확이 표현하면 real 정오각형은 아니다..
*
***
**
이렇게 출력하면서 정오각형은 불가능하다...
===============================================================================
int bt = super.getBottom();
int hi = super.getHight();
for(int i = 0; i<= Math.round((float)(hi/2)) ; i++){
for(int j = bt ; j>0 ; j--){
if(j <= (i)*2+1)
System.out.print("*");
else
System.out.print(" ");
}
for(int j = 0 ; j < (i)*2 ; j++ ){
System.out.print("*");
}
System.out.println();
}
for(int i = 1 ; i <= Math.round((float)(hi/2)) ; i++)
{
for(int j = bt ; j > 0 ; j--){
if(j <= bt-i)
System.out.print("*");
else
System.out.print(" ");
}
for(int j = bt-i ; j >1 ; j--)
System.out.print("*");
System.out.println();
}
==============================================================================
그리고 위에서는 자바문법을 사용했지만...
어짜피 기본적인 문법은 C나 C++과 비슷하다.
그렇기때문에 얼마든지 다른 언어로 변경할수 있다.