# Hour-glass Pattern

• Difficulty Level : Easy
• Last Updated : 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```

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12.

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

## C++

 `// CPP code for hour glass``// pattern.``#include ``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;``}`

## Java

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

 `# Python3 code for 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`

## C#

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

 `= 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``?>`

## Javascript

 ``

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