Program to print numbers with diamond pattern

28 Jun, 2022
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++
Java
Python3
C#
PHP
Javascript
// 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 codeint main(){    int n = 7;    display(n);} // This code is contributed by Smitha
// Java program to print diamond patternimport 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 program to print diamond patterndef 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 = 7display(n) # This code is contributed by DrRoot_
// C# program to print diamond patternusing 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 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 ?>
<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) 
Mithun Kumar
Smitha Dinesh Semwal
DrRoot_
rdtank
krishnav4
pattern-printing
Java Programs
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Factory method design pattern in Java
Java Program to Remove Duplicate Elements From the Array
Iterate through List in Java
Java program to count the occurrence of each character in a string using Hashmap
How to Iterate HashMap in Java?
Python Dictionary
Reverse a string in Java
Arrays in C/C++
Introduction To PYTHON
Interfaces in Java