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

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

알고리즘
- 사용자로부터 행(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;
}
출력 결과

