Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 미러링된 중공 평행사변형 패턴 출력하기


프로그램 설명

평행사변형(parallelogram)은 마주 보는 두 쌍의 변이 모두 평행한 사각형을 말합니다.

C 언어로 미러링된 중공 평행사변형 패턴 출력하기

평행사변형에는 다음과 같은 여섯 가지 중요한 성질이 있습니다.

  • 마주 보는 두 변의 길이가 같습니다 (AB = DC).
  • 마주 보는 두 각의 크기가 같습니다 (∠D = ∠B).
  • 이웃하는 두 각은 서로 보각 관계입니다 (∠A + ∠D = 180°).
  • 하나의 각이 직각이라면, 나머지 모든 각도 직각입니다.
  • 두 대각선은 서로를 이등분합니다.
  • 각 대각선은 평행사변형을 합동인 두 개의 삼각형으로 나눕니다.

C 언어로 미러링된 중공 평행사변형 패턴 출력하기

알고리즘

  • 사용자로부터 행(row)과 열(column)의 개수를 입력받아 각각 rows, cols 변수에 저장합니다.
  • 행을 반복 처리하기 위해 외부 루프를 for(r=1; r<=rows; r++) 형태로 작성합니다.
  • 왼쪽 공백을 출력하기 위해 내부 루프를 for(c=1; c<r; c++) 형태로 작성하고, 루프 안에서 공백 한 칸씩 출력합니다.
  • 중공(hollow) 평행사변형의 테두리를 별(*)로 그리기 위해 또 다른 내부 루프를 for(c=1; c<=cols; c++) 형태로 작성합니다. 이 루프 안에서는 r==1(첫 번째 행) 또는 r==rows(마지막 행) 또는 c==1(첫 번째 열) 또는 c==cols(마지막 열)일 때만 별을 출력하고, 그 외의 경우에는 공백을 출력합니다.
  • 한 행의 모든 열 출력이 끝나면 줄바꿈(new line)을 출력하여 다음 줄로 이동합니다.

예제 코드

// C program to print mirrored hollow parallelogram
#include <stdio.h>
int main(){
   int rows,cols,r,c;
   clrscr(); /*Clears the Screen*/
   printf("Please enter the number of Rows: ");
   scanf("%d", &rows);
   printf("\n");
   printf("Please enter the number of Columns: ");
   scanf("%d", &cols);
   printf("\n");
   printf("The Mirrored Hollow Parallelogram is: ");
   printf("\n");
   for(r = 1; r <= rows; r++){
      // Display spaces
      for(c = 1; c < r; c++) {
         printf(" ");
      }
      // Display hollow parallelogram
      for(c = 1; c <= cols; c++) {
         if (r == 1 || r == rows || c == 1 || c == cols) {
            printf("*");
         }
         else {
            printf(" ");
         }
      }
      printf("\n");
   }
   getch();
   return 0;
}

출력 결과

C 언어로 미러링된 중공 평행사변형 패턴 출력하기


C 언어로 미러링된 중공 평행사변형 패턴 출력하기