Hour-glass Pattern - GeeksforGeeks

16 Nov, 2021
Given positive integer n, print numeric pattern in form of an hourglass.Examples :  
Input : rows_no = 7
Output :

1 2 3 4 5 6 7
 2 3 4 5 6 7
  3 4 5 6 7
   4 5 6 7
    5 6 7
     6 7 
      7
     6 7
    5 6 7
   4 5 6 7
  3 4 5 6 7
 2 3 4 5 6 7
1 2 3 4 5 6 7
 
 
C++
Java
Python3
C#
PHP
Javascript
// CPP code for hour glass// pattern.#include <iostream>using namespace std; // Function definitionvoid pattern(int rows_no){    int i, j, k;     // for loop for printing    // upper half    for (i = 1; i <= rows_no; i++) {         // printing i spaces at        // the beginning of each row        for (k = 1; k < i; k++)            cout << " ";                 // printing i to rows value        // at the end of each row        for (j = i; j <= rows_no; j++)            cout << j << " ";                cout << endl;    }     // for loop for printing lower half    for (i = rows_no - 1; i >= 1; i--) {         // printing i spaces at the        // beginning of each row        for (k = 1; k < i; k++)            cout << " ";                  // printing i to rows value        // at the end of each row        for (j = i; j <= rows_no; j++)            cout << j << " ";                cout << endl;    }} // Driver codeint main(){    // taking rows value from the user    int rows_no = 7;     pattern(rows_no);    return 0;}
// Java code for hour glass// pattern.import java.io.*; class GFG{    // Function definition    static void pattern(int rows_no)    {        int i, j, k;             // for loop for printing        // upper half        for (i = 1; i <= rows_no; i++) {                 // printing i spaces at            // the beginning of each row            for (k = 1; k < i; k++)                System.out.print(" ");                         // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                System.out.print(j + " ");                 System.out.println();        }             // for loop for printing lower half        for (i = rows_no - 1; i >= 1; i--)        {            // printing i spaces at the            // beginning of each row            for (k = 1; k < i; k++)                System.out.print(" ");                         // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                System.out.print(j + " ");                 System.out.println();        }    }         // Driver code    public static void main (String[] args)    {        // taking rows value from the user        int rows_no = 7;             pattern(rows_no);         }} // This code is contributed by vt_m.
# Python3 code for hour glass pattern # Function definitiondef pattern(rows_no):     # for loop for printing upper half    for i in range(1, rows_no + 1):         # printing i spaces at the        # beginning of each row        for k in range(1, i):            print(" ", end = "")                 # printing i to rows value        # at the end of each row        for j in range(i, rows_no + 1):            print(j, end = " ")         print()         # for loop for printing lower half    for i in range(rows_no - 1, 0, -1):         # printing i spaces at the        # beginning of each row        for k in range(1, i):            print(" ", end = "")                 # printing i to rows value        # at the end of each row        for j in range(i, rows_no + 1):            print(j, end = " ")         print()     # Driver code # taking rows value from the userrows_no = 7 pattern(rows_no) # This code is contributed# by ihritik
// C# code for hour glass// pattern.using System;class GFG{    // Function definition    static void pattern(int rows_no)    {        int i, j, k;             // for loop for printing        // upper half        for (i = 1; i <= rows_no; i++) {                 // printing i spaces at            // the beginning of each row            for (k = 1; k < i; k++)                Console.Write(" ");                         // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                Console.Write(j + " ");                 Console.WriteLine();        }             // for loop for printing lower half        for (i = rows_no - 1; i >= 1; i--)        {            // printing i spaces at the            // beginning of each row            for (k = 1; k < i; k++)                Console.Write(" ");                         // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                Console.Write(j + " ");                 Console.WriteLine();        }    }         // Driver code    public static void Main ()    {        // taking rows value from the user        int rows_no = 7;             pattern(rows_no);         }} // This code is contributed by vt_m.
<?php// PHP code for hour glass pattern// Function definitionfunction pattern($rows_no){    // for loop for printing    // upper half    for ($i = 1; $i <= $rows_no; $i++)    {         // printing i spaces at        // the beginning of each row        for ($k = 1; $k < $i; $k++)            echo " ";                 // printing i to rows value        // at the end of each row        for ($j = $i; $j <= $rows_no; $j++)            echo $j." ";             echo "\n";    }     // for loop for printing lower half    for ($i = $rows_no - 1; $i >= 1; $i--)    {         // printing i spaces at the        // beginning of each row        for ($k = 1; $k < $i; $k++)            echo " ";                 // printing i to rows value        // at the end of each row        for ($j = $i; $j <= $rows_no; $j++)            echo $j." ";             echo "\n";    }} // Driver code$rows_no = 7;pattern($rows_no); // This code is contributed by mits?>
<script>// Javascript code for hour glass// pattern.     // Function definition    function pattern( rows_no)    {        let i, j, k;         // for loop for printing        // upper half        for (i = 1; i <= rows_no; i++)        {             // printing i spaces at            // the beginning of each row            for (k = 1; k < i; k++)                document.write(" ");             // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                document.write(j + " ");             document.write("<br/>");        }         // for loop for printing lower half        for (i = rows_no - 1; i >= 1; i--)        {                     // printing i spaces at the            // beginning of each row            for (k = 1; k < i; k++)                document.write(" ");             // printing i to rows value            // at the end of each row            for (j = i; j <= rows_no; j++)                document.write(j + " ");             document.write("<br/>");        }    }     // Driver code          // taking rows value from the user    let rows_no = 7;    pattern(rows_no); // This code is contributed by gauravrajput1</script>
Output :  
1 2 3 4 5 6 7
 2 3 4 5 6 7
  3 4 5 6 7
   4 5 6 7
    5 6 7
     6 7 
      7
     6 7
    5 6 7
   4 5 6 7
  3 4 5 6 7
 2 3 4 5 6 7
1 2 3 4 5 6 7
 
Mithun Kumar
ihritik
Akanksha_Rai
GauravRajput1
surinderdawra388
arorakashish0911
pattern-printing
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Interfaces in Java
C++ Classes and Objects
Operator Overloading in C++
Constructors in C++
Copy Constructor in C++
Overriding in Java
C++ Data Types
Polymorphism in C++
Types of Operating Systems
Friend class and function in C++