Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Program to print diamond pattern using numbers and stars

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Program to print the following pattern of a half diamond for N.

Pattern for N = 4

Example:

Input: N = 5
Output: 

1

2*3

4*5*6

7*8*9*10

11*12*13*14*15

11*12*13*14*15

7*8*9*10

4*5*6

2*3

1

This program is divided into four parts.

C++




// C++ program to print the half diamond
// pattern using numbers and stars
 
#include <iostream>
using namespace std;
 
void pattern(int N)
{
    int i, j, count = 1;
 
    // This is upper half of pattern
    for (i = 1; i <= N; i++) {
 
        // for loop to display number
        // upto i
        for (j = 1; j <= i; j++) {
 
            if (j < i)
 
                cout << count++ << "*";
 
            else
 
                cout << count++;
        }
        cout << endl;
    }
    count = count - N;
 
    // This is lower half of pattern
    for (i = N; i >= 1; i--) {
 
        // for loop to display number
        // upto i
        for (j = 1; j <= i; j++) {
 
            if (j < i)
 
                cout << count++ << "*";
 
            else
 
                cout << count++;
        }
        count = (count + 1) - 2 * i;
        cout << endl;
    }
}
 
// Driver code
int main()
{
    int N = 4;
 
    // Function call
    pattern(N);
    return 0;
}


Java




// Java program to print the half diamond
// pattern using numbers and stars
public class GFG
{
   
      // Function to print half diamond
      // pattern using numbers and stars
    public static void pattern(int N) {
        int i, j, count = 1;
 
        // This is upper half of pattern
        for (i = 1; i <= N; i++) {
 
            // for loop to display number
            // upto i
            for (j = 1; j <= i; j++) {
 
                if (j < i)
 
                    System.out.print(count++ + "*");
 
                else
 
                    System.out.print(count++);
            }
            System.out.println();
        }
       
        count = count - N;
 
        // This is lower half of pattern
        for (i = N; i >= 1; i--) {
 
            // for loop to display number
            // upto i
            for (j = 1; j <= i; j++) {
 
                if (j < i)
 
                    System.out.print(count++ + "*");
 
                else
 
                    System.out.print(count++);
            }
           
            count = (count + 1) - 2 * i;
            System.out.println();
        }
    }
 
    // Driver code
    public static void main(String[] args) {
        int N = 4;
 
        // Function call
        pattern(N);
    }
}


Python3




def pattern(N):
    count = 1
     
    # This is upper half of pattern
    for i in range(1, N+1):
        for j in range(1, i+1):
            if j < i:
                print(count, end='*')
            else:
                print(count, end='')
            count += 1
        print()
 
    count = count - N
     
    # This is lower half of pattern
    for i in range(N, 0, -1):
        for j in range(1, i+1):
            if j < i:
                print(count, end='*')
            else:
                print(count, end='')
            count += 1
        count = (count + 1) - 2 * i
        print()
 
# Driver code
if __name__ == '__main__':
    N = 4
 
    # Function call
    pattern(N)


C#




// C# program to print the half diamond
// pattern using numbers and stars
using System;
 
public class Program
{
  static void pattern(int N)
  {
    int i, j, count = 1;
 
    // This is upper half of pattern
    for (i = 1; i <= N; i++)
    {
      // for loop to display number
      // upto i
      for (j = 1; j <= i; j++)
      {
        if (j < i)
          Console.Write(count++ + "*");
        else
          Console.Write(count++);
      }
      Console.WriteLine();
    }
 
    count = count - N;
 
    // This is lower half of pattern
    for (i = N; i >= 1; i--)
    {
      // for loop to display number
      // upto i
      for (j = 1; j <= i; j++)
      {
        if (j < i)
          Console.Write(count++ + "*");
        else
          Console.Write(count++);
      }
 
      count = (count + 1) - 2 * i;
      Console.WriteLine();
    }
  }
 
  public static void Main()
  {
    int N = 4;
 
    // Function call
    pattern(N);
  }
}


Javascript




// JavaScript program to print the half diamond
// pattern using numbers and stars
 
 
// Function to print half diamond
// pattern using numbers and stars
function pattern(N) {
    let i, j, count = 1;
 
    // This is upper half of pattern
    for (i = 1; i <= N; i++) {
        // for loop to display number upto i
        let row = "";
        for (j = 1; j <= i; j++) {
            if (j < i) {
                row += count++ + "*";
            }
            else {
                row += count++;
            }
        }
        console.log(row);
    }
    count = count - N;
 
    // This is lower half of pattern
    for (i = N; i >= 1; i--) {
        // for loop to display number upto i
        let row = "";
        for (j = 1; j <= i; j++) {
            if (j < i) {
                row += count++ + "*";
            }
            else {
                row += count++;
            }
        }
        count = (count + 1) - 2 * i;
        console.log(row);
    }
}
 
// Driver code
let N = 4;
 
// Function call
pattern(N);


Output

1
2*3
4*5*6
7*8*9*10
7*8*9*10
4*5*6
2*3
1

Time Complexity: O(N2
Auxiliary Space:  O(1) since we are not using any extra space


My Personal Notes arrow_drop_up
Last Updated : 06 Apr, 2023
Like Article
Save Article
Similar Reads
Related Tutorials