C program to print Rhombus star pattern

Write a C program to print rhombus star pattern of N rows using for loop. How to print rhombus or parallelogram star pattern using for loop in C programming. Logic to print rhombus or parallelogram star pattern series in C program.

Logic to print Rhombus star pattern

_ _ _ _ * * * * *
_ _ _ * * * * *
_ _ * * * * *
_ * * * * *
* * * * *

Before I decode the logic of this pattern, have a close look of the pattern. Place your mouse cursor on to the pattern, to count spaces. Try to decode the logic of given pattern.

If you remove trailing spaces the pattern becomes a simple square star pattern of N rows and columns. You only need to add logic of printing spaces with the existing logic of square star pattern.

The pattern consists N - i spaces per row (where i is the current row number).

Step by step descriptive logic to print rhombus star pattern

  1. Input number of rows from user. Store it in a variable say rows.
  2. To iterate through rows, run an outer loop from 1 to rows. Define a loop with structure for(i=1; i<=rows; i++).
  3. To print spaces, run an inner loop from 1 to rows - i. Construct a loop with structure for(j=1; j<=rows - i; j++). Inside this loop print space.
  4. To iterate through columns for printing stars. Run another inner loop from 1 to rows. Define another loop with structure for(j=1; j<=rows; j++). Inside this loop print star.
  5. After printing all columns of a row move to next line i.e. print new line.

Program to print rhombus star pattern

/**
 * C program to print Rhombus star pattern series
 */

#include <stdio.h>

int main()
{
    int i, j, rows;

    /* Input number of rows from user */
    printf("Enter rows: ");
    scanf("%d", &rows);

    for(i=1; i<=rows; i++)
    {
        /* Print trailing spaces */
        for(j=1; j<=rows - i; j++)
        {
            printf(" ");
        }

        /* Print stars after spaces */
        for(j=1; j<=rows; j++)
        {
            printf("*");
        }

        /* Move to the next line */
        printf("\n");
    }

    return 0;
}

Output

Enter rows: 5
    *****
   *****
  *****
 *****
*****

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s