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

Related Articles

Program to print numbers with diamond pattern

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

write a program where each column represents same number according to given example:
Examples : 
 

Input : 5
Output :
  1
 212
32123
 212
  1

Input : 7
Output :
   1
  212
 32123
4321234
 32123
  212
   1

 

C++




// C++ program to print diamond pattern 
#include<iostream>
using namespace std;
  
void display(int n) 
    // sp stands for space 
    // st stands for number 
    int sp = n / 2, st = 1; 
  
    // Outer for loop for number of lines 
    for (int i = 1; i <= n; i++) 
    
  
        // Inner for loop for printing space 
        for (int j = 1; j <= sp; j++) 
            cout << " "
  
        // Inner for loop for printing number 
        int count = st / 2 + 1; 
        for (int k = 1; k <= st; k++) 
        
            cout << count; 
            if (k <= st / 2) 
                count--; 
            else
                count++; 
        
  
        // To goto next line 
        cout << endl; 
        if (i <= n / 2)
        
  
            // sp decreased by 1 
            // st increased by 2 
            sp = sp - 1; 
            st = st + 2; 
        
  
        else 
        
  
            // sp increased by 1 
            // st decreased by 2 
            sp = sp + 1; 
            st = st - 2; 
        
    
  
// Driver code 
int main() 
    int n = 7; 
    display(n); 
  
// This code is contributed by Smitha


Java




// Java program to print diamond pattern
import java.util.Scanner;
  
class Pattern {
    void display(int n)
    {
        // sp stands for space
        // st stands for number
        int sp = n / 2, st = 1;
  
        // Outer for loop for number of lines
        for (int i = 1; i <= n; i++) {
  
            // Inner for loop for printing space
            for (int j = 1; j <= sp; j++)
                System.out.print(" ");
  
            // Inner for loop for printing number
            int count = st / 2 + 1;
            for (int k = 1; k <= st; k++) {
                System.out.print(count);
                if (k <= st / 2)
                    count--;
                else
                    count++;
            }
  
            // To goto next line
            System.out.println();
            if (i <= n / 2) {
  
                // sp decreased by 1
                // st increased by 2
                sp = sp - 1;
                st = st + 2;
            }
  
            else {
  
                // sp increased by 1
                // st decreased by 2
                sp = sp + 1;
                st = st - 2;
            }
        }
    }
  
    // Driver code
    public static void main(String[] args)
    {
        Pattern p = new Pattern();
        int n = 7;
        p.display(n);
    }
}


Python3




# Python3 program to print diamond pattern
def display(n):
      
    # sp stands for space
    # st stands for number
    sp = n // 2
    st = 1
      
    # Outer for loop for number of lines
    for i in range(1, n + 1):
          
        # Inner for loop for printing space
        for j in range(1, sp + 1):
            print (" ", end = ' ')
  
        # Inner for loop for printing number         
        count = st // 2 + 1
          
        for k in range(1, st + 1):
            print (count, end = ' ')
            if (k <= (st // 2)):
                count -= 1
            else:
                count += 1
                  
        # To go to next line     
        print() 
          
        if (i <= n // 2):
              
            # sp decreased by 1
            # st decreased by 2 
            sp -= 1
            st += 2
        else:
              
            # sp increased by 1 
            # st decreased by 2
            sp += 1
            st -= 2    
              
# Driver code         
n = 7
display(n)
  
# This code is contributed by DrRoot_


C#




// C# program to print diamond pattern
using System;
  
class Pattern {
    void display(int n)
    {
        // sp stands for space
        // st stands for number
        int sp = n / 2, st = 1;
  
        // Outer for loop for number of lines
        for (int i = 1; i <= n; i++) {
  
            // Inner for loop for printing space
            for (int j = 1; j <= sp; j++)
                Console.Write(" ");
  
            // Inner for loop for printing number
            int count = st / 2 + 1;
            for (int k = 1; k <= st; k++) {
                Console.Write(count);
                if (k <= st / 2)
                    count--;
                else
                    count++;
            }
  
            // To goto next line
            Console.WriteLine();
            if (i <= n / 2) {
  
                // sp decreased by 1
                // st increased by 2
                sp = sp - 1;
                st = st + 2;
            }
  
            else {
  
                // sp increased by 1
                // st decreased by 2
                sp = sp + 1;
                st = st - 2;
            }
        }
    }
  
    // Driver code
    public static void Main()
    {
        Pattern p = new Pattern();
        int n = 7;
        p.display(n);
    }
}
//This code is contributed by vt_m


PHP




<?php
// php program to print diamond pattern
  
function display($n)
    {
        // sp stands for space
        // st stands for number
        $sp = $n / 2;
        $st = 1;
  
        // Outer for loop for
        // number of lines
        for ($i = 1; $i <= $n; $i++) 
        {
  
            // Inner for loop for 
            // printing space
            for ($j = 1; $j <= $sp; $j++)
                echo " ";
  
            // Inner for loop for 
            // printing number
            $count = $st / 2 + 1;
            for ($k = 1; $k <= $st; $k++) 
            {
                // To hide floating 
                // value using floor()
                echo floor($count); 
                if ($k <= $st / 2)
                    $count--;
                else
                    $count++;
            }
  
            // for next line
            echo "\n";
            if ($i <= $n / 2) 
            {
  
                // sp decreased by 1
                // st increased by 2
                $sp = $sp - 1;
                $st = $st + 2;
            }
  
            else 
            {
  
                // sp increased by 1
                // st decreased by 2
                $sp = $sp + 1;
                $st = $st - 2;
            }
        }
    }
  
    // Driver code
       $n = 7;
       display($n);
  
  
// This article is contributed by mits 
  
?>


Javascript




<script>
      // JavaScript program to print diamond pattern
  
      function display(n) {
        // sp stands for space
        // st stands for number
        var sp = parseInt(n / 2),
          st = 1;
  
        // Outer for loop for number of lines
        for (var i = 1; i <= n; i++) {
          // Inner for loop for printing space
          for (var j = 1; j <= sp; j++) document.write("  ");
  
          // Inner for loop for printing number
          var count = parseInt(st / 2 + 1);
          for (var k = 1; k <= st; k++) {
            document.write(count);
            if (k <= st / 2) count--;
            else count++;
          }
  
          // To goto next line
          document.write("<br>");
          if (i <= n / 2) 
          {
            
            // sp decreased by 1
            // st increased by 2
            sp = sp - 1;
            st = st + 2;
          
          else
          {
            
            // sp increased by 1
            // st decreased by 2
            sp = sp + 1;
            st = st - 2;
          }
        }
      }
  
      // Driver code
      var n = 7;
      display(n);
        
      // This code is contributed by rdtank.
    </script>


Output : 
 

   1
  212
 32123
4321234
 32123
  212
   1

Time complexity: O(n*sp+n*st)
Auxiliary Space: O(1) 


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