Open In App

C Program To Print Hollow Diamond Pattern

Improve
Improve
Like Article
Like
Save
Share
Report

To print the hollow diamond pattern in C, we will use the following 2 approaches:

  1. for Loop
  2. while Loop

Input:

n = 5

Output:

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

Approach 1: Using for loop

Example:  

C




// C Program To Print Hollow Diamond
// Pattern using for loop
#include <stdio.h>
int main()
{
 
    int n = 5, rows, columns;
 
    // for loop is used to identify
    // the number of rows and
    // it is used to print upper triangle
    for (rows = 1; rows <= n; rows++) {
 
        // used for printing the spaces
        for (columns = n; columns > rows; columns--) {
            printf(" ");
        }
 
        // print star
        printf("*");
 
        // again print the spaces
        for (columns = 1; columns < (rows - 1) * 2;
             columns++) {
            printf(" ");
        }
        if (rows == 1) {
            printf("\n");
        }
        else {
            printf("*\n");
        }
    }
    // for loop is used to identify
    // the number of rows and
    // it is used to print lower triangle
    for (rows = n - 1; rows >= 1; rows--) {
 
        // used for printing the spaces
        for (columns = n; columns > rows; columns--) {
            printf(" ");
        }
 
        // print star
        printf("*");
        for (columns = 1; columns < (rows - 1) * 2;
             columns++) {
            printf(" ");
        }
        if (rows == 1) {
            printf("\n");
        }
        else {
            printf("*\n");
        }
    }
    return 0;
}


Output

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

Method : Using while loop

Example:

C




// C Program To Print Hollow Diamond
// Pattern using while loop
#include <stdio.h>
 
int main()
{
 
    int n = 5, rows = 1, columns;
    // while loop is used to identify
    // the number of rows and
    // it is used to print upper triangle
    while (rows <= n) {
        columns = n;
 
        // used for printing the spaces
        while (columns > rows) {
            printf(" ");
            columns--;
        }
 
        // print star
        printf("*");
        columns = 1;
        while (columns < (rows - 1) * 2) {
            printf(" ");
            columns++;
        }
        if (rows == 1) {
            printf("\n");
        }
        else {
            printf("*\n");
        }
        rows++;
    }
    // while loop is used to identify
    // the number of rows and
    // it is used to print lower triangle
    rows = n - 1;
    while (rows >= 1) {
        columns = n;
        // used for printing the spaces
        while (columns > rows) {
            printf(" ");
            columns--;
        }
        // print star
        printf("*");
        columns = 1;
        while (columns < (rows - 1) * 2) {
            printf(" ");
            columns++;
        }
        if (rows == 1) {
            printf("\n");
        }
        else {
            printf("*\n");
        }
        rows--;
    }
    return 0;
}


Output

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

Time complexity: O(n2) for given input n
Auxiliary space: O(1) as it is using constant space for variables



Last Updated : 27 Dec, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads