Get the best out of our app
GeeksforGeeks App
Open App
Browser
Continue

# Program to print hollow rectangle or square star patterns

#### Hollow rectangle star pattern :

The task is print below hollow pattern of given dimension.

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

Explanation:

• Input number of rows and columns.
• For rows of rectangle run the outer loop from 1 to rows.

`for (i = 1; i < = rows; i++)`
• For column of rectangle run the inner loop from 1 to columns.

`for (j = 1; j < = columns; j++)`
• Print star for first or last row or for first or last column, otherwise print blank space.
• After printing all columns of a row, print new line after inner loop.

## C++

 `// C++ code for hollow rectangle ``#include ``using` `namespace` `std;`` ` `// Function to print hollow rectangle ``void` `print_rectangle(``int` `n, ``int` `m) ``{ ``    ``int` `i, j; ``    ``for` `(i = 1; i <= n; i++) ``    ``{ ``        ``for` `(j = 1; j <= m; j++) ``        ``{ ``            ``if` `(i == 1 || i == n || ``                ``j == 1 || j == m)         ``                ``cout << ``"*"``;             ``            ``else``                ``cout << ``" "``;``        ``} ``        ``cout << endl;``    ``} `` ` `} `` ` `// Driver Code``int` `main() ``{ ``    ``int` `rows = 6, columns = 20; ``    ``print_rectangle(rows, columns); ``    ``return` `0; ``} `` ` `// This code is contributed ``// by rathbhupendra`

## C

 `// C code for hollow rectangle``#include `` ` `// Function to print hollow rectangle``void` `print_rectangle(``int` `n, ``int` `m)``{``    ``int` `i, j;``    ``for` `(i = 1; i <= n; i++)``    ``{``        ``for` `(j = 1; j <= m; j++)``        ``{``            ``if` `(i==1 || i==n || j==1 || j==m)            ``                ``printf``(``"*"``);            ``            ``else``                ``printf``(``" "``);            ``        ``}``        ``printf``(``"\n"``);``    ``}`` ` `}`` ` `// Driver program for above function``int` `main()``{``    ``int` `rows = 6, columns = 20;``    ``print_rectangle(rows, columns);``    ``return` `0;``}`

## Java

 `// JAVA code for hollow rectangle``import` `java.io.*;`` ` `class` `GFG {``     ` `    ``// Function to print hollow rectangle``    ``static` `void` `print_rectangle(``int` `n, ``int` `m)``    ``{``        ``int` `i, j;``        ``for` `(i = ``1``; i <= n; i++)``        ``{``            ``for` `(j = ``1``; j <= m; j++)``            ``{``                ``if` `(i == ``1` `|| i == n || ``                    ``j == ``1` `|| j == m)            ``                    ``System.out.print(``"*"``);            ``                ``else``                    ``System.out.print(``" "``);            ``            ``}``            ``System.out.println();``        ``}``      ` `    ``}``      ` `    ``// Driver program for above function``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `rows = ``6``, columns = ``20``;``        ``print_rectangle(rows, columns);``    ``}``}`` ` `/*This code is contributed by Nikita Tiwari.*/`

## Python3

 `# Python 3 code for hollow rectangle`` ` `# Function to print hollow rectangle``def` `print_rectangle(n, m) :``     ` `    ``for` `i ``in` `range``(``1``, n``+``1``) :``        ``for` `j ``in` `range``(``1``, m``+``1``) :``            ``if` `(i ``=``=` `1` `or` `i ``=``=` `n ``or``                ``j ``=``=` `1` `or` `j ``=``=` `m) :``                ``print``(``"*"``, end``=``"")            ``            ``else` `:``                ``print``(``" "``, end``=``"")            ``         ` `        ``print``()`` ` ` ` `# Driver program for above function``rows ``=` `6``columns ``=` `20``print_rectangle(rows, columns)`` ` ` ` `# This code is contributed by Nikita Tiwari.`

## C#

 `using` `System;``public` `class` `GFG``{`` ` `  ``// Function to print hollow rectangle``  ``static` `void` `print_rectangle(``int` `n, ``int` `m)``  ``{``    ``int` `i, j;``    ``for` `(i = 1; i <= n; i++)``    ``{``      ``for` `(j = 1; j <= m; j++)``      ``{``        ``if` `(i == 1 || i == n || ``            ``j == 1 || j == m)            ``          ``Console.Write(``"*"``);            ``        ``else``          ``Console.Write(``" "``);            ``      ``}``      ``Console.WriteLine();``    ``}`` ` `  ``}`` ` `  ``// Driver program for above function``  ``public` `static` `void` `Main()``  ``{``    ``int` `rows = 6, columns = 20;``    ``print_rectangle(rows, columns);``  ``}``}`` ` `// This code is contributed by ksrikanth0498.`

## PHP

 ``

## Javascript

 ``

Output:

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

Time Complexity: O(m * n), where m and n represents the given inputs.
Auxiliary Space: O(1), no extra space is required, so it is a constant.

#### Hollow square star pattern :

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

Explanation:

• Input number of rows.
• For rows, an outer loop from 1 to N.
• For columns, an inner loop from 1 to N
• Inside inner loop print star for first and last row or for first and last column. Which is print star

` if i == 1 or i == N or j == 1 or j == N`
• otherwise print space.
• After printing all columns of a row, print a blank line after inner loop.

## C++

 `// C++ code for hollow squares``#include ``using` `namespace` `std;`` ` `// Function to print hollow square``void` `print_square(``int` `n)``{``    ``int` `i, j;``     ` `    ``for` `(i = 1; i <= n; i++)``    ``{``        ``for` `(j = 1; j <= n; j++)``        ``{``            ``if` `(i==1 || i==n || j==1 || j==n)     ``                ``cout << ``"*"``;         ``            ``else`    `                ``cout << ``" "``;         ``        ``}``        ``cout << ``"\n"``;``    ``}`` ` `}`` ` `// Driver code for above function``int` `main()``{``    ``int` `rows = 8;``    ``print_square(rows);``    ``return` `0;``}`` ` `// This code is contributed by Code_Mech`

## C

 `// C code for hollow squares``#include `` ` `// Function to print hollow square``void` `print_square(``int` `n)``{``    ``int` `i, j;``     ` `    ``for` `(i = 1; i <= n; i++)``    ``{``        ``for` `(j = 1; j <= n; j++)``        ``{``            ``if` `(i==1 || i==n || j==1 || j==n)            ``                ``printf``(``"*"``);            ``            ``else`            `                ``printf``(``" "``);            ``        ``}``        ``printf``(``"\n"``);``    ``}`` ` `}`` ` `// Driver code for above function``int` `main()``{``    ``int` `rows = 8;``    ``print_square(rows);``    ``return` `0;``}`

## Java

 `// JAVA code for hollow squares``import` `java.io.*;`` ` `class` `GFG {``     ` `    ``// Function to print hollow square``    ``static` `void` `print_square(``int` `n)``    ``{``        ``int` `i, j;``          ` `        ``for` `(i = ``1``; i <= n; i++)``        ``{``            ``for` `(j = ``1``; j <= n; j++)``            ``{``                ``if` `(i == ``1` `|| i == n || ``                    ``j == ``1` `|| j == n)            ``                    ``System.out.print(``"*"``);            ``                ``else`           `                    ``System.out.print(``" "``);            ``            ``}``            ``System.out.println();``        ``}``      ` `    ``}``      ` `    ``// Driver code for above function``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `rows = ``8``;``        ``print_square(rows);``    ``}``}`` ` `/*This code is contributed by Nikita Tiwari.*/`

## Python3

 `# Python 3 code for hollow squares`` ` `# Function to print hollow square``def` `print_square(n) :``     ` `    ``for` `i ``in` `range``(``1``, n``+``1``) :``        ``for` `j ``in` `range``(``1``, n``+``1``) :``            ``if` `(i ``=``=` `1` `or` `i ``=``=` `n ``or` `                ``j ``=``=` `1` `or` `j ``=``=` `n) :            ``                ``print``(``"*"``, end ``=` `"")            ``            ``else` `:``                ``print``(``" "``, end ``=` `"")            ``         ` `        ``print``()``         ` `         ` `  ` `# Driver code for above function``rows ``=` `8``print_square(rows)`` ` `# This code is contributed by Nikita Tiwari.`

## C#

 `// C# program to print hollow square``// star pattern with diagonal``using` `System;`` ` `class` `GFG {``     ` `    ``// Function to print hollow square with ``    ``// primary and secondary diagonal``    ``static` `void` `print_squaredi(``int` `n)``    ``{``        ``int` `i, j;``        ``for` `(i = 1; i <= n; i++)``        ``{``            ``for` `(j = 1; j <= n; j++)``            ``{``                ``if` `(i == 1 || i == n || ``                    ``j == 1 || j == n ||``                    ``i == j || j == (n - i + 1))         ``                    ``Console.Write(``"*"``);         ``                ``else`        `                ``Console.Write(``" "``);         ``            ``}``            ``Console.WriteLine();``        ``}``     ` `    ``}``     ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `rows = 8;``        ``print_squaredi(rows);``    ``}``}`` ` `// This code is contributed by Nitin Mittal.`

## PHP

 ``

## Javascript

 `Javascript    ``    ``// Function to print hollow square``    ``function` `print_square(int n)``    ``{``        ``var` `i, j;``          ` `        ``for` `(i = 1; i <= n; i++)``        ``{``            ``for` `(j = 1; j <= n; j++)``            ``{``                ``if` `(i == 1 || i == n || ``                    ``j == 1 || j == n)            ``                    ``document.write(``"*"``);            ``                ``else`           `                    ``document.write(``" "``);            ``            ``}``            ``document.write(``"\n"``);``        ``}``      ` `    ``}``      ` `        ``var` `rows = 8;``        ``print_square(rows);`

Output:

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

Time Complexity: O(n2), where n represents the given input.
Auxiliary Space: O(1), no extra space is required, so it is a constant.

My Personal Notes arrow_drop_up