Print the diamond pattern outline using For Loop in C


This program is written in C programming language and it uses nested for loops to create a diamond pattern of asterisks (*) on the console. The program first takes an input value from the user, which determines the number of rows of the diamond pattern. The outer for loop iterates from 1 to the input value, and the inner for loops are used to create the pattern on each row.

  • The first inner for loop is used to print a number of spaces on the left side of the diamond pattern. The number of spaces is calculated by subtracting the current row number from the input value.
  • The second inner for loop is used to print the first half of the diamond pattern, it starts with the second row and it prints an asterisk if the current column number is equal to 1 or the current row number.
  • The third inner for loop is used to print the second half of the diamond pattern, it starts with the second row and it prints an asterisk if the current column number is equal to the current row number.
  • The second part of the program is the same as the first one, but the for loops are going in descending order and it's used to create the lower half of the diamond pattern. In the end, the program returns 0 to indicate that it has completed execution successfully.

In summary, the program uses nested for loops and if-else statements to create a diamond pattern of asterisks on the console, with the number of rows determined by user input

Source Code

#include<stdio.h>
int main()
{
  int i,j,n;
  printf("\nEnter the value:");
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {
    printf("\n");
    for(j=1;j<=(n-i);j++)
    {
       printf("  ");
    }
    for(j=1;j<i;j++)
    {
       if(j==1)
       {
         printf(" *");
       }
       else
       {
          printf("  ");
       }
    }
    for(j=1;j<=i;j++)
    {
      if(j==i)
      {
        printf(" *");
      }
      else
      {
        printf("  ");
      }
    }
  }
  for(i=1;i<=n;i++)
  {
    printf("\n");
    for(j=1;j<=i;j++)
    {
        printf("  ");
    }
    for(j=n;j>i;j--)
    {
      if(j==n)
      {
       printf(" *");
      }
      else
      {
        printf("  ");
      }
    }
    for(j=2;j<=(n-i);j++)
    {
       if(j==n-i)
       {
       printf(" *");
       }
       else
       {
           printf("  ");
       }
    }
  }
  return 0;
}
  
To download raw file Click Here

Output

Enter the value:5
        *
      *   *
    *        *
  *            *
*                *
  *            *
    *        *
      *    *
        *	  

List of Programs


Sample Programs


Switch Case in C


Conditional Operators in C


Goto Statement in C


While Loop Example Programs


Looping Statements in C

For Loop Example Programs


Array Examples in C

One Dimensional Array


Two Dimensional Array in C


String Example Programs in C


Functions Example Programs in C