ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA/C/C++] *을 이용한 오각형 그리기
    case Computer : 2010. 12. 23. 13:27
    처음 프로그래밍 언어를 배울때 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++과 비슷하다.
    그렇기때문에 얼마든지 다른 언어로 변경할수 있다.
    반응형

    댓글

Designed by Tistory.