Hour-glass Pattern

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP code for hour glass
// pattern.
#include <iostream>
using namespace std;
  
// Function definition
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++) 
            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 code
int main()
{
    // taking rows value from the user
    int rows_no = 7;
  
    pattern(rows_no);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code forr hour glass pattern
  
# Function definition
def 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 user
rows_no = 7
  
pattern(rows_no) 
  
# This code is contributed 
# by ihritik

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP code for hour glass pattern
// Function definition
function 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 
?>

chevron_right


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


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.