Related Articles
Program to print Inverse Diamond pattern
• Last Updated : 21 Apr, 2021

Given an integer n, the task is to print the Inverse Diamond Pattern in 2n-1 rows.
Example:

```Input: n = 3
Output:

*** ***
**   **
*     *
**   **
*** ***

Input: n = 7
Output:

******* *******
******   ******
*****     *****
****       ****
***         ***
**           **
*             *
**           **
***         ***
****       ****
*****     *****
******   ******
******* *******```

Approach:

1. The full Inverse Diamond is of 2n-1 rows for an input of n.
2. The program is divided to print this pattern in two parts:
• The first part is the top half of diamond of n rows.
• This part includes 3 parts- the left triangle of *, the middle triangle of space and the right triangle of *.
• The second part is the below half of diamond of n-1 rows.
• This part also includes 3 parts- the left triangle of *, the middle triangle of space and the right triangle of *.
3. Printing each part, the required Inverse Diamond Pattern is obtained.

Below is the implementation of the above approach:

## C++

 `// C++ Code to print``// the inverse diamond shape``  ` `#include`` ``using` `namespace` `std;``  ` `    ``// Function to Print Inverse Diamond pattern``    ``// with 2n-1 rows``void` `printDiamond(``int` `n)``    ``{``        ``cout<

## Java

 `// Java Code to print``// the inverse diamond shape` `import` `java.util.*;` `class` `GFG {` `    ``// Function to Print Inverse Diamond pattern``    ``// with 2n-1 rows``    ``static` `void` `printDiamond(``int` `n)``    ``{``        ``System.out.println();` `        ``int` `i, j = ``0``;` `        ``// for top half``        ``for` `(i = ``0``; i < n; i++) {` `            ``// for left *``            ``for` `(j = i; j < n; j++)``                ``System.out.print(``"*"``);` `            ``// for middle " "``            ``for` `(j = ``0``; j < ``2` `* i + ``1``; j++)``                ``System.out.print(``" "``);` `            ``// for right *``            ``for` `(j = i; j < n; j++)``                ``System.out.print(``"*"``);` `            ``System.out.println();``        ``}` `        ``// for below half``        ``for` `(i = ``0``; i < n - ``1``; i++) {` `            ``// for left *``            ``for` `(j = ``0``; j < i + ``2``; j++)``                ``System.out.print(``"*"``);` `            ``// for middle " "``            ``for` `(j = ``0``; j < ``2` `* (n - ``1` `- i) - ``1``; j++)``                ``System.out.print(``" "``);` `            ``// for right *``            ``for` `(j = ``0``; j < i + ``2``; j++)``                ``System.out.print(``"*"``);` `            ``System.out.println();``        ``}` `        ``System.out.println();``    ``}` `    ``// Driver Code``    ``public` `static` `void` `main(String[] args)``    ``{` `        ``// Define n``        ``int` `n = ``3``;``        ``System.out.println(``"Inverse Diamond Pattern for n = "` `+ n);``        ``printDiamond(n);` `        ``n = ``7``;``        ``System.out.println(``"\nInverse Diamond Pattern for n = "` `+ n);``        ``printDiamond(n);``    ``}``}`

## Python3

 `#Python3 program to print``# the inverse diamond shape``    `  `# Function to Print Inverse``# Diamond pattern``# with 2n-1 rows``def` `printDiamond(n) :``    ``print``("")``    ``j ``=` `0``    ` `    ``# for top half``    ``for` `i ``in` `range``(``0``,n):``        ` `        ``# for left *``        ``for` `j ``in` `range``(i,n):``            ``print``(``"*"``,end``=``"")``            ` `        ``# for middle " "``        ``for` `j ``in` `range``(``0``,``2` `*` `i ``+` `1``):``            ``print``(``" "``,end``=``"")``            ` `        ``# for right *``        ``for` `j ``in` `range``(i,n):``            ``print``(``"*"``,end``=``"")``            ` `        ``print``("")``    ` `    ``# for below half``    ``for` `i ``in` `range``(``0``,n``-``1``):``        ` `        ``# for left *``        ``for` `j ``in` `range``(``0``, i``+``2``):``            ``print``(``"*"``,end``=``"")``            ` `        ``# for middle " "``        ``for` `j ``in` `range``(``0``,``2` `*` `(n ``-` `1` `-` `i) ``-` `1``):``            ``print``(``" "``,end``=``"")``            ` `        ``# for right *``        ``for` `j ``in` `range``(``0``, i``+``2``):``            ``print``(``"*"``,end``=``"")``            ` `        ``print``("")``        ` `    ``print``("")``    ` `    ` `# Driver Code` `if` `__name__``=``=``'__main__'``:``    ` `# Define n``    ``n ``=` `3``    ``print``(``"Inverse Diamond Pattern for n = "``,n)``    ``printDiamond(n)``    ` `    ``n ``=` `7``    ``print``(``"\nInverse Diamond Pattern for n = "``,n )``    ``printDiamond(n)` `# this code is contributed by Smitha Dinesh Semwal`

## C#

 `// C# Code to print``// the inverse diamond shape``using` `System;` `class` `GFG``{` `// Function to Print Inverse``// Diamond pattern with 2n-1 rows``static` `void` `printDiamond(``int` `n)``{``    ``Console.WriteLine();` `    ``int` `i, j = 0;` `    ``// for top half``    ``for` `(i = 0; i < n; i++)``    ``{` `        ``// for left *``        ``for` `(j = i; j < n; j++)``            ``Console.Write(``"*"``);` `        ``// for middle " "``        ``for` `(j = 0; j < 2 * i + 1; j++)``            ``Console.Write(``" "``);` `        ``// for right *``        ``for` `(j = i; j < n; j++)``            ``Console.Write(``"*"``);` `        ``Console.WriteLine();``    ``}` `    ``// for below half``    ``for` `(i = 0; i < n - 1; i++)``    ``{` `        ``// for left *``        ``for` `(j = 0; j < i + 2; j++)``            ``Console.Write(``"*"``);` `        ``// for middle " "``        ``for` `(j = 0; j < 2 * (n - 1 - i) - 1; j++)``            ``Console.Write(``" "``);` `        ``// for right *``        ``for` `(j = 0; j < i + 2; j++)``            ``Console.Write(``"*"``);` `        ``Console.WriteLine();``    ``}` `    ``Console.WriteLine();``}` `// Driver Code``public` `static` `void` `Main()``{` `    ``// Define n``    ``int` `n = 3;``    ``Console.WriteLine(``"Inverse Diamond "` `+``                      ``"Pattern for n = "` `+ n);``    ``printDiamond(n);` `    ``n = 7;``    ``Console.WriteLine(``"\nInverse Diamond "` `+``                        ``"Pattern for n = "` `+ n);``    ``printDiamond(n);``}``}` `// This code is contributed``// by inder_verma.`

## PHP

 ``

## Javascript

 ``
Output:
```Inverse Diamond Pattern for n = 3

*** ***
**   **
*     *
**   **
*** ***

Inverse Diamond Pattern for n = 7

******* *******
******   ******
*****     *****
****       ****
***         ***
**           **
*             *
**           **
***         ***
****       ****
*****     *****
******   ******
******* *******```

My Personal Notes arrow_drop_up