Introduction
A sandglass star pattern consists of stars (*
) arranged in the shape of an hourglass or sandglass. The pattern can be divided into two parts: an inverted triangle followed by a regular triangle. This exercise helps in understanding how to use loops and conditional logic to create symmetrical patterns.
Problem Statement
Create a C program that:
- Accepts the number of rows for the sandglass pattern.
- Prints a sandglass star pattern.
Example:
- Input:
rows = 5
- Output:
********* ******* ***** *** * *** ***** ******* *********
Solution Steps
- Input the Number of Rows: The size determines the height of the sandglass.
- Use Nested Loops: The outer loop will handle the rows, while the inner loops handle printing the spaces and stars for both the upper (inverted) and lower triangles.
- Display the Sandglass Pattern: Print stars in decreasing order for the upper part and increasing order for the lower part.
C Program
#include <stdio.h>
int main() {
int i, j, rows;
// Step 1: Accept the number of rows for the sandglass pattern
printf("Enter the number of rows: ");
scanf("%d", &rows);
// Step 2: Print the upper part of the sandglass (inverted triangle)
for (i = 0; i < rows; i++) {
// Print spaces for alignment
for (j = 0; j < i; j++) {
printf(" ");
}
// Print stars for the inverted triangle
for (j = 0; j < (2 * (rows - i) - 1); j++) {
printf("*");
}
printf("\n");
}
// Step 3: Print the lower part of the sandglass (regular triangle)
for (i = 1; i < rows; i++) {
// Print spaces for alignment
for (j = 1; j < rows - i; j++) {
printf(" ");
}
// Print stars for the regular triangle
for (j = 0; j < (2 * i + 1); j++) {
printf("*");
}
printf("\n");
}
return 0;
}
Explanation
Step 1: Input Number of Rows
- The program begins by asking the user to input the number of rows, which determines the size of the sandglass pattern.
Step 2: Print the Upper Part (Inverted Triangle)
- The outer loop controls the number of rows for the upper (inverted) part of the sandglass.
- An inner loop prints spaces to align the stars properly, and another inner loop prints the stars (
*
) in decreasing order, forming the inverted triangle.
Step 3: Print the Lower Part (Regular Triangle)
- The second outer loop handles the rows for the lower part (regular triangle) of the sandglass.
- The inner loops print the necessary spaces and stars in increasing order to form the triangle.
Output Example
For rows = 5
, the output will be:
*********
*******
*****
***
*
***
*****
*******
*********
For rows = 6
, the output will be:
***********
*********
*******
*****
***
*
***
*****
*******
*********
***********
Conclusion
This C program prints a sandglass star pattern by using nested loops to handle the inverted and regular triangles. This exercise is helpful for practicing loop control, pattern generation, and conditional printing in C programming.
Comments
Post a Comment
Leave Comment