Skip to content
Related Articles

Related Articles

Improve Article
Program to print numbers with diamond pattern
  • Difficulty Level : Hard
  • Last Updated : 07 Apr, 2021

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

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :