# Program to print solid and hollow rhombus patterns

For any given number n, print Hollow and solid Squares and Rhombus made with stars(*).
Examples:

```Input : n = 4
Output :
Solid Rhombus:
****
****
****
****

Hollow Rhombus:
****
*  *
*  *
****
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

1. Solid Rhombus : Making Solid Rhombus is a bit similar to making solid square rather than the concept that for each ith row we have n-i blank spaces before stars as:
– – – ****
– – ****
– ****
****
2. Hollow Rhombus : Formation of Hollow Rhombus uses the idea behind formation of hollow square and solid rhombus. A hollow square with n-i blank spaces before stars in each ith rows result in formation of hollow rhombus.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

 `// C++ program to print  ` `// hollow and solid rhombus patterns ` ` `  `#include ` `using` `namespace` `std; ` ` `  ` `  `// Function for Solid Rhombus ` `void` `solidRhombus(``int` `rows) ` `{ ` `    ``int` `i, j; ` `    ``for` `(i=1; i<=rows; i++) ` `    ``{ ` `        ``// Print trailing spaces ` `        ``for` `(j=1; j<=rows - i; j++) ` `            ``cout << ``" "``; ` `             `  `        ``// Print stars after spaces ` `        ``for` `(j=1; j<=rows; j++) ` `            ``cout << ``"*"``; ` `             `  `        ``// Move to the next line/row ` `        ``cout << ``"\n"``; ` `    ``} ` `} ` ` `  `// Function for   Rhombus ` `void` `hollowRhombus(``int` `rows) ` `{ ` `    ``int` `i, j; ` `    ``for` `(i=1; i<=rows; i++) ` `    ``{ ` `        ``// Print trailing spaces ` `        ``for` `(j=1; j<=rows - i; j++) ` `            ``cout << ``" "``; ` `             `  `        ``// Print stars after spaces ` `        ``// Print stars for each solid rows ` `        ``if` `(i==1 || i==rows) ` `            ``for` `(j=1; j<=rows; j++) ` `                ``cout << ``"*"``; ` `                 `  `        ``// stars for hollow rows ` `        ``else` `            ``for` `(j=1; j<=rows; j++) ` `                ``if` `(j==1 || j==rows) ` `                    ``cout << ``"*"``;   ` `                ``else` `                    ``cout << ``" "``; ` `        ``// Move to the next line/row ` `        ``cout << ``"\n"``; ` `    ``} ` `} ` ` `  `// utility program to print all patterns ` `void` `printPattern(``int` `rows) ` `{ ` `    ``cout << ``"\nSolid Rhombus:\n"``; ` `    ``solidRhombus(rows); ` `     `  `    ``cout << ``"\nHollow Rhombus:\n"``; ` `    ``hollowRhombus(rows); ` `} ` ` `  `// driver program ` `int` `main() ` `{ ` `    ``int` `rows = 5; ` `    ``printPattern (rows); ` `    ``return` `0; ` `} `

 `// Java program to print  ` `// hollow and solid rhombus patterns ` `import` `java.io.*; ` ` `  `class` `GFG  ` `{ ` `    ``// Function for Solid Rhombus ` `    ``static` `void` `solidRhombus(``int` `rows) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i=``1``; i<=rows; i++) ` `        ``{ ` `            ``// Print trailing spaces ` `            ``for` `(j=``1``; j<=rows - i; j++) ` `                ``System.out.print(``" "``); ` `              `  `            ``// Print stars after spaces ` `            ``for` `(j=``1``; j<=rows; j++) ` `                ``System.out.print(``"*"``); ` `              `  `            ``// Move to the next line/row ` `            ``System.out.println(); ` `        ``} ` `    ``} ` `  `  `    ``// Function for Hollow Rhombus ` `    ``static` `void` `hollowRhombus(``int` `rows) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i=``1``; i<=rows; i++) ` `        ``{ ` `            ``// Print trailing spaces ` `            ``for` `(j=``1``; j<=rows - i; j++) ` `                ``System.out.print(``" "``); ` `              `  `            ``// Print stars after spaces ` `            ``// Print stars for each solid rows ` `            ``if` `(i==``1` `|| i==rows) ` `                ``for` `(j=``1``; j<=rows; j++) ` `                    ``System.out.print(``"*"``); ` `                  `  `            ``// stars for hollow rows ` `            ``else` `                ``for` `(j=``1``; j<=rows; j++) ` `                    ``if` `(j==``1` `|| j==rows) ` `                        ``System.out.print(``"*"``); ` `                    ``else` `                        ``System.out.print(``" "``); ` `            ``// Move to the next line/row ` `            ``System.out.println(); ` `        ``} ` `    ``} ` `  `  `    ``// utility program to print all patterns ` `    ``static` `void` `printPattern(``int` `rows) ` `    ``{ ` `        ``System.out.println(``"Solid Rhombus:"``); ` `        ``solidRhombus(rows); ` `      `  `        ``System.out.println(``"Hollow Rhombus:"``); ` `        ``hollowRhombus(rows); ` `    ``} ` `     `  `    ``// driver program ` `    ``public` `static` `void` `main (String[] args)  ` `    ``{ ` `        ``int` `rows = ``5``; ` `        ``printPattern (rows); ` `    ``} ` `} ` ` `  `// Contributed by Pramod Kumar `

 `# Python 3 program to print  ` `# hollow and solid rhombus patterns ` ` `  `# Function for Solid Rhombus ` ` `  `def` `solidRhombus(rows): ` `     `  `    ``for` `i ``in` `range` `(``1``,rows ``+` `1``): ` `         `  `        ``# Print trailing spaces ` `         `  `        ``for` `j ``in` `range` `(``1``,rows ``-` `i ``+` `1``): ` `            ``print` `(end``=``" "``) ` `             `  `        ``# Print stars after spaces ` `         `  `        ``for` `j ``in` `range` `(``1``,rows ``+` `1``): ` `            ``print` `(``"*"``,end``=``"") ` `             `  `        ``# Move to the next line/row ` `        ``print``() ` ` `  `# Function for Hollow Rhombus ` ` `  `def` `hollowRhombus(rows): ` `     `  `    ``for` `i ``in` `range` `(``1``, rows ``+` `1``): ` `        ``# Print trailing spaces ` `         `  `        ``for` `j ``in` `range` `(``1``, rows ``-` `i ``+` `1``): ` `            ``print` `(end``=``" "``) ` `             `  `        ``# Print stars after spaces ` `        ``# Print stars for each solid rows ` `         `  `        ``if` `i ``=``=` `1` `or` `i ``=``=` `rows: ` `            ``for` `j ``in` `range` `(``1``, rows ``+` `1``): ` `                ``print` `(``"*"``,end``=``"") ` `                 `  `        ``# stars for hollow rows ` `        ``else``: ` `            ``for` `j ``in` `range` `(``1``,rows``+``1``): ` `                ``if` `(j ``=``=` `1` `or` `j ``=``=` `rows): ` `                    ``print` `(``"*"``,end``=``"") ` `                ``else``: ` `                    ``print` `(end``=``" "``) ` `        ``# Move to the next line/row ` `        ``print``() ` ` `  `# utility program to print all patterns ` `def` `printPattern(rows): ` `     `  `    ``print` `(``"Solid Rhombus:"``) ` `    ``solidRhombus(rows) ` `     `  `    ``print``(``"\nHollow Rhombus:"``) ` `    ``hollowRhombus(rows) ` ` `  `# driver program ` ` `  `if` `__name__ ``=``=` `"__main__"``: ` `     `  `    ``rows ``=` `5` `    ``printPattern (rows) `

 `// C# program to print  ` `// hollow and solid rhombus patterns ` `using` `System; ` ` `  `class` `GFG  ` `{ ` `    ``// Function for Solid Rhombus ` `    ``static` `void` `solidRhombus(``int` `rows) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i=1; i<=rows; i++) ` `        ``{ ` `            ``// Print trailing spaces ` `            ``for` `(j=1; j<=rows - i; j++) ` `                ``Console.Write(``" "``); ` `             `  `            ``// Print stars after spaces ` `            ``for` `(j=1; j<=rows; j++) ` `                ``Console.Write(``"*"``); ` `             `  `            ``// Move to the next line/row ` `            ``Console.WriteLine(); ` `        ``} ` `    ``} ` ` `  `    ``// Function for Hollow Rhombus ` `    ``static` `void` `hollowRhombus(``int` `rows) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i=1; i<=rows; i++) ` `        ``{ ` `            ``// Print trailing spaces ` `            ``for` `(j=1; j<=rows - i; j++) ` `                ``Console.Write(``" "``); ` `             `  `            ``// Print stars after spaces ` `            ``// Print stars for each solid rows ` `            ``if` `(i==1 || i==rows) ` `                ``for` `(j=1; j<=rows; j++) ` `                    ``Console.Write(``"*"``); ` `                 `  `            ``// stars for hollow rows ` `            ``else` `                ``for` `(j=1; j<=rows; j++) ` `                    ``if` `(j==1 || j==rows) ` `                        ``Console.Write(``"*"``); ` `                    ``else` `                    ``Console.Write(``" "``); ` `            ``// Move to the next line/row ` `            ``Console.WriteLine(); ` `        ``} ` `    ``} ` ` `  `    ``// utility program to print all patterns ` `    ``static` `void` `printPattern(``int` `rows) ` `    ``{ ` `        ``Console.WriteLine(``"\nSolid Rhombus:\n"``); ` `        ``solidRhombus(rows); ` `     `  `        ``Console.WriteLine(``"\nHollow Rhombus:\n"``); ` `        ``hollowRhombus(rows); ` `    ``} ` `     `  `    ``// driver program ` `    ``public` `static` `void` `Main ()     { ` `        ``int` `rows = 5; ` `        ``printPattern (rows); ` `    ``} ` `} ` ` `  `// Contributed by vt_m. `

 ` `

Output:
```Solid Rhombus:
*****
*****
*****
*****
*****

Hollow Rhombus:
*****
*   *
*   *
*   *
*****

```