# Program to print 2D shapes

Take the user choice and print 2D shapes based on the choice. A shape with only two dimensions (such as width and height) and no thickness. Squares, Circles, Triangles etc are two dimensional objects. These shapes mostly contain mathematical figures such are a line, square, triangle, rectangle and hexagon. The shapes are given below :

```Circle :  Radius = 4

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

Square :  Side = 4

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

Rectangle : Length = 3, Breadth = 8

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

Triangle : Side = 4

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

Hexagon : Side = 4

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

Follow the code below to print the different 2D shapes :

## C++

 `// C++ implementation of menu driven``// programme to print solid 2D shapes``#include ``using` `namespace` `std;` `// Function to print a circle``void` `circle(``int` `radius)``{` `    ``for` `(``int` `i = 0; i <= 2 * radius; i++)``    ``{``        ``for` `(``int` `j = 0; j <= 2 * radius; j++)``        ``{``            ``double` `distance = ``sqrt``((``double``)(i - radius)``                        ``* (i - radius) + (j - radius)``                        ``* (j - radius));` `            ``if` `(distance > radius - 0.5 &&``                ``distance < radius + 0.5)``                ``printf``(``"*"``);``            ``else``                ``printf``(``" "``);``        ``}``        ``printf``(``"\n"``);``    ``}``}` `// Function to print a square or a rectangle``void` `rectangle(``int` `l, ``int` `b)``{` `    ``int` `i, j;``    ``for` `(i = 1; i <= l; i++)``    ``{``        ``for` `(j = 1; j <= b; j++)``            ``if` `(i == 1 || i == l || j == 1 || j == b)``                ``printf``(``"*"``);``            ``else``                ``printf``(``" "``);``        ``printf``(``"\n"``);``    ``}``}` `// Function to print triangle``void` `triangle(``int` `side)``{``    ``int` `i, j;``    ``for` `(i = 1; i <= side; i++)``    ``{``        ``for` `(j = i; j < side; j++)``            ``printf``(``" "``);` `        ``for` `(j = 1; j <= (2 * i - 1); j++)``        ``{``            ``if` `(i == side || j == 1 || j == (2 * i - 1))``                ``printf``(``"*"``);``            ``else``                ``printf``(``" "``);``        ``}``        ``printf``(``"\n"``);``    ``}``}` `// Function to print hexagon``void` `hexagon(``int` `length)``{``    ``int` `l, j, i, k;``    ``for` `(i = 1, k = length, l = 2 * length - 1;``            ``i < length; i++, k--, l++)``    ``{``        ``for` `(j = 0; j < 3 * length; j++)``            ``if` `(j >= k && j <= l)``                ``printf``(``"*"``);``            ``else``                ``printf``(``" "``);``        ``printf``(``"\n"``);``    ``}``    ``for` `(i = 0, k = 1, l = 3 * length - 2;``            ``i < length; i++, k++, l--)``    ``{``        ``for` `(j = 0; j < 3 * length; j++)``            ``if` `(j >= k && j <= l)``                ``printf``(``"*"``);``            ``else``                ``printf``(``" "``);``        ``printf``(``"\n"``);``    ``}``}` `// Function takes user choice``void` `printPattern(``int` `choice)``{` `    ``int` `radius, length, breadth, side;``    ``switch` `(choice)``    ``{``    ``// For Circle``    ``case` `1:``        ``radius = 4;``        ``circle(radius);``        ``break``;` `    ``// For rectangle/square``    ``case` `2:``        ``length = 3, breadth = 8;``        ``rectangle(length, breadth);``        ``break``;` `    ``// For triangle``    ``case` `3:``        ``side = 6;``        ``triangle(side);``        ``break``;` `    ``// For hexagon``    ``case` `4:``        ``side = 4;``        ``hexagon(side);``        ``break``;``    ``default``:``        ``printf``(``"Wrong choice\n"``);``    ``}``}` `// Driver Function``int` `main()``{``    ``int` `choice = 3;``    ``printPattern(choice);``    ``return` `0;``}`

## Java

 `// Java implementation of menu driven``// programme to print solid 2D shapes``class` `GFG``{``    ``// Function to print a circle``    ``static` `void` `circle(``int` `radius)``    ``{``    ` `    ``for` `(``int` `i = ``0``; i <= ``2` `* radius; i++)``        ``{``            ``for` `(``int` `j = ``0``; j <= ``2` `* radius; j++)``            ``{``                ``double` `distance =``                   ``Math.sqrt((``double``)(i - radius)``                        ``* (i - radius) + (j - radius)``                                        ``* (j - radius));``    ` `                ``if` `(distance > radius - ``0.5` `&&``                        ``distance < radius + ``0.5``)``                ` `                    ``System.out.print(``"*"``);``                ``else``                    ``System.out.print(``" "``);``            ``}``            ` `            ``System.out.println();``        ``}``    ``}``    ` `    ``// Function to print a square or a rectangle``    ``static` `void` `rectangle(``int` `l, ``int` `b)``    ``{``    ` `        ``int` `i, j;``        ` `        ``for` `(i = ``1``; i <= l; i++)``        ``{``            ``for` `(j = ``1``; j <= b; j++)``                ``if` `(i == ``1` `|| i == l || j == ``1` `|| j == b)``                    ``System.out.print(``"*"``);``                ``else``                    ``System.out.print(``" "``);``        ` `            ``System.out.println();``        ``}``    ``}``    ` `    ``// Function to print triangle``    ``static` `void` `triangle(``int` `side)``    ``{``        ``int` `i, j;``        ` `        ``for` `(i = ``1``; i <= side; i++)``        ``{``            ``for` `(j = i; j < side; j++)``                   ``System.out.print(``" "``);``    ` `            ``for` `(j = ``1``; j <= (``2` `* i - ``1``); j++)``            ``{``                ``if` `(i == side || j == ``1` `||``                                ``j == (``2` `* i - ``1``))``                    ``System.out.print(``"*"``);``                ``else``                    ``System.out.print(``" "``);``            ``}``            ``System.out.println();``        ``}``    ``}``    ` `    ``// Function to print hexagon``    ``static` `void` `hexagon(``int` `length)``    ``{``        ``int` `l, j, i, k;``        ``for` `(i = ``1``, k = length, l = ``2` `* length - ``1``;``                            ``i < length; i++, k--, l++)``        ``{``            ``for` `(j = ``0``; j < ``3` `* length; j++)``                ``if` `(j >= k && j <= l)``                    ``System.out.print(``"*"``);``                ``else``                    ``System.out.print(``" "``);``            ``System.out.println();``        ``}``        ``for` `(i = ``0``, k = ``1``, l = ``3` `* length - ``2``;``                ``i < length; i++, k++, l--)``        ``{``            ``for` `(j = ``0``; j < ``3` `* length; j++)``                ``if` `(j >= k && j <= l)``                    ``System.out.print(``"*"``);``                ``else``                    ``System.out.print(``" "``);``            ``System.out.println();``        ``}``    ``}``    ` `    ``// Function takes user choice``    ``static` `void` `printPattern(``int` `choice)``    ``{``    ` `        ``int` `radius, length, breadth, side;``        ` `        ``switch` `(choice)``        ``{``        ` `        ``// For Circle``        ``case` `1``:``            ``radius = ``4``;``            ``circle(radius);``            ``break``;``    ` `        ``// For rectangle/square``        ``case` `2``:``            ``length = ``3``; breadth = ``8``;``            ``rectangle(length, breadth);``            ``break``;``    ` `        ``// For triangle``        ``case` `3``:``            ``side = ``6``;``            ``triangle(side);``            ``break``;``    ` `        ``// For hexagon``        ``case` `4``:``            ``side = ``4``;``            ``hexagon(side);``            ``break``;``        ``default``:``            ``System.out.print(``"Wrong choice\n"``);``        ``}``    ``}` `// Driver Program to test above function``public` `static` `void` `main(String arg[])``{``    ``int` `choice = ``3``;``    ``printPattern(choice);``}``}` `// This code is contributed by Anant Agarwal.`

## Python3

 `# Python implementation to ``# print solid 2D shapes``import` `math` `# def to print a circle``def` `circle(radius) :` `    ``for` `i ``in` `range``(``0``, ``2` `*``                   ``radius ``+` `1``) :``    ` `        ``for` `j ``in` `range``(``0``, ``2` `*``                       ``radius ``+` `1``) :``        ` `            ``distance ``=` `math.sqrt((i ``-` `radius) ``*``                                 ``(i ``-` `radius) ``+``                                 ``(j ``-` `radius) ``*``                                 ``(j ``-` `radius))` `            ``if` `(distance > radius ``-` `0.5` `and``                ``distance < radius ``+` `0.5``) :``                ``print` `(``"*"``, end ``=` `"")``            ` `            ``else` `:``                ``print` `(``" "``, end ``=` `"") ``        ` `        ``print` `()` `# def to print a ``# square or a rectangle``def` `rectangle(l, b) :` `    ``for` `i ``in` `range``(``1``, l ``+` `1``) :``    ` `        ``for` `j ``in` `range``(``1``, b ``+` `1``) :``            ``if` `(i ``=``=` `1` `or` `i ``=``=` `l ``or``                ``j ``=``=` `1` `or` `j ``=``=` `b) :``                ``print` `(``"*"``, end ``=` `"")``            ` `            ``else` `:``                ``print` `(``" "``, end ``=` `"")``        ``print` `()``    ` `# def to print triangle``def` `triangle(side) :` `    ``for` `i ``in` `range``(``1``, side ``+` `1``) :``    ` `        ``for` `j ``in` `range``(i, side) :``            ``print` `(``" "``, end ``=` `"")` `        ``for` `j ``in` `range``(``1``, ``2` `*` `i) :``        ` `            ``if` `(i ``=``=` `side ``or` `j ``=``=` `1` `or``                ``j ``=``=` `(``2` `*` `i ``-` `1``)) :``                ``print` `(``"*"``, end ``=` `"")``        ` `            ``else` `:``                ``print` `(``" "``, end ``=` `"")``        ` `        ``print` `()` `# def to print hexagon``def` `hexagon(length) :` `    ``k ``=` `length``    ``l ``=` `2` `*` `length ``-` `1``    ``for` `i ``in` `range``(``1``, length) :``    ` `        ``for` `j ``in` `range``(``0``, ``3` `*` `length) :``            ``if` `(j >``=` `k ``and` `j <``=` `l) :``                ``print` `(``"*"``, end ``=` `"")``            ` `            ``else` `:``                ``print` `(``" "``, end ``=` `"")``        ``print` `()``        ``k ``=` `k ``-` `1``        ``l ``=` `l ``+` `1``    ` `    ``k ``=` `1``    ``l ``=` `3` `*` `length ``-` `2``    ``for` `i ``in` `range``(``0``, length) :` `        ``for` `j ``in` `range``(``0``, ``3` `*` `length) :``            ``if` `(j >``=` `k ``and` `j <``=` `l) :``                ``print` `(``"*"``, end ``=` `"")``            ``else` `:``                ``print` `(``" "``, end ``=` `"")``        ``print` `()``        ``k ``=` `k ``+` `1``        ``l ``=` `l ``-` `1` `# def takes user choice``def` `printPattern(choice) :``    ` `    ``# For Circle``    ``if``(choice ``=``=` `1``) :``        ``circle(``4``)``    ` `    ``# For rectangle/square``    ``elif``(choice ``=``=` `2``) :``        ``rectangle(``3``, ``8``)``    ` `    ``# For triangle ``    ``elif``(choice ``=``=` `3``) :``        ``triangle(``6``)``    ` `    ``# For hexagon``    ``elif``(choice ``=``=` `4``) :``        ``hexagon(``4``)` `# Driver Code``choice ``=` `3``printPattern(choice)` `# This code is contributed by``# Manish Shaw(manishshaw1)`

## C#

 `// C# implementation of menu driven ``// programme to print solid 2D shapes ``using` `System; ``class` `GFG ``{ ``    ``// Function to print a circle ``    ``static` `void` `circle(``int` `radius) ``    ``{ ``      ` `    ``for` `(``int` `i = 0; i <= 2 * radius; i++) ``        ``{ ``            ``for` `(``int` `j = 0; j <= 2 * radius; j++) ``            ``{ ``                ``double` `distance = ``                ``Math.Sqrt((``double``)(i - radius) ``                        ``* (i - radius) + (j - radius) ``                                        ``* (j - radius)); ``      ` `                ``if` `(distance > radius - 0.5 && ``                        ``distance < radius + 0.5) ``                  ` `                    ``Console.Write(``"*"``); ``                ``else``                    ``Console.Write(``" "``); ``            ``} ``              ` `            ``Console.WriteLine(); ``        ``} ``    ``} ``      ` `    ``// Function to print a square or a rectangle ``    ``static` `void` `rectangle(``int` `l, ``int` `b) ``    ``{ ``      ` `        ``int` `i, j; ``          ` `        ``for` `(i = 1; i <= l; i++) ``        ``{ ``            ``for` `(j = 1; j <= b; j++) ``                ``if` `(i == 1 || i == l || j == 1 || j == b) ``                    ``Console.Write(``"*"``); ``                ``else``                    ``Console.Write(``" "``); ``          ` `                    ``Console.WriteLine(); ``        ``} ``    ``} ``      ` `    ``// Function to print triangle ``    ``static` `void` `triangle(``int` `side) ``    ``{ ``        ``int` `i, j; ``          ` `        ``for` `(i = 1; i <= side; i++) ``        ``{ ``            ``for` `(j = i; j < side; j++) ``                ``Console.Write(``" "``); ``      ` `            ``for` `(j = 1; j <= (2 * i - 1); j++) ``            ``{ ``                ``if` `(i == side || j == 1 || ``                                ``j == (2 * i - 1)) ``                    ``Console.Write(``"*"``); ``                ``else``                    ``Console.Write(``" "``); ``            ``} ``                  ``Console.WriteLine(); ``        ``} ``    ``} ``      ` `    ``// Function to print hexagon ``    ``static` `void` `hexagon(``int` `length) ``    ``{ ``        ``int` `l, j, i, k; ``        ``for` `(i = 1, k = length, l = 2 * length - 1; ``                            ``i < length; i++, k--, l++) ``        ``{ ``            ``for` `(j = 0; j < 3 * length; j++) ``                ``if` `(j >= k && j <= l) ``                    ``Console.Write(``"*"``); ``                ``else``                    ``Console.Write(``" "``); ``                    ``Console.WriteLine(); ``        ``} ``        ``for` `(i = 0, k = 1, l = 3 * length - 2; ``                ``i < length; i++, k++, l--) ``        ``{ ``            ``for` `(j = 0; j < 3 * length; j++) ``                ``if` `(j >= k && j <= l) ``                    ``Console.Write(``"*"``); ``                ``else``                    ``Console.Write(``" "``); ``                    ``Console.WriteLine(); ``        ``} ``    ``} ``      ` `    ``// Function takes user choice ``    ``static` `void` `printPattern(``int` `choice) ``    ``{ ``      ` `        ``int` `radius, length, breadth, side; ``          ` `        ``switch` `(choice) ``        ``{ ``          ` `        ``// For Circle ``        ``case` `1: ``            ``radius = 4; ``            ``circle(radius); ``            ``break``; ``      ` `        ``// For rectangle/square ``        ``case` `2: ``            ``length = 3; breadth = 8; ``            ``rectangle(length, breadth); ``            ``break``; ``      ` `        ``// For triangle ``        ``case` `3: ``            ``side = 6; ``            ``triangle(side); ``            ``break``; ``      ` `        ``// For hexagon ``        ``case` `4: ``            ``side = 4; ``            ``hexagon(side); ``            ``break``; ``        ``default``: ``        ``Console.Write(``"Wrong choice"``); ``        ``break``; ``        ``} ``    ``} ``  ` `// Driver Program to test above function ``public` `static` `void` `Main() ``{ ``    ``int` `choice = 3; ``    ``printPattern(choice); ``} ``} ``  ` `// This code is contributed by vt_m. `

## PHP

 ` ``\$radius` `- 0.5 &&``                ``\$distance` `< ``\$radius` `+ 0.5)``                ``echo` `"*"``;``            ` `            ``else``                ``echo` `" "``;``        ``}``        ``echo` `"\n"``;``    ``}``}` `// Function to print a ``// square or a rectangle``function` `rectangle(``\$l``, ``\$b``)``{` `    ``for` `(``\$i` `= 1; ``\$i` `<= ``\$l``; ``\$i``++)``    ``{``        ``for` `(``\$j` `= 1; ``\$j` `<= ``\$b``; ``\$j``++)``            ``if` `(``\$i` `== 1 || ``\$i` `== ``\$l` `|| ``                ``\$j` `== 1 || ``\$j` `== ``\$b``)``                ``echo` `"*"``;``            ` `            ``else``                ``echo` `" "``;``        ``echo` `"\n"``;``    ``}``}` `// Function to print triangle``function` `triangle(``\$side``)``{``    ``for` `(``\$i` `= 1; ``\$i` `<= ``\$side``; ``\$i``++)``    ``{``        ``for` `(``\$j` `= ``\$i``; ``\$j` `< ``\$side``; ``\$j``++)``            ``echo` `" "``;` `        ``for` `(``\$j` `= 1; ``\$j` `<= (2 * ``\$i` `- 1); ``                                  ``\$j``++)``        ``{``            ``if` `(``\$i` `== ``\$side` `|| ``\$j` `== 1 || ``                ``\$j` `== (2 * ``\$i` `- 1))``                ``echo` `"*"``;``        ` `            ``else``                ``echo` `" "``;``        ``}``        ``echo` `"\n"``;``    ``}``}` `// Function to print hexagon``function` `hexagon(``\$length``)``{` `    ``for` `(``\$i` `= 1, ``\$k` `= ``\$length``, ``         ``\$l` `= 2 * ``\$length` `- 1; ``         ``i < ``\$length``; ``\$i``++, ``\$k``--, ``\$l``++)``    ``{``        ``for` `(``\$j` `= 0; ``\$j` `< 3 * ``\$length``; ``\$j``++)``            ``if` `(``\$j` `>= ``\$k` `&& ``\$j` `<= ``\$l``)``                ``echo` `"*"``;``            ` `            ``else``                ``echo` `" "``;``        ``echo` `"\n"``;``    ``}``    ``for` `(``\$i` `= 0, ``\$k` `= 1, ``\$l` `= 3 * ``\$length` `- 2;``               ``\$i` `< ``\$length``; ``\$i``++, ``\$k``++, ``\$l``--)``    ``{``        ``for` `(``\$j` `= 0; ``\$j` `< 3 * ``\$length``; ``\$j``++)``            ``if` `(``\$j` `>= ``\$k` `&& ``\$j` `<= ``\$l``)``                ``echo` `"*"``;``            ``else``                ``echo` `" "``;``        ``echo` `"\n"``;``    ``}``}` `// Function takes user choice``function` `printPattern(``\$choice``)``{``    ``switch` `(``\$choice``)``    ``{``        ` `    ``// For Circle``    ``case` `1:``        ``\$radius` `= 4;``        ``circle(``\$radius``);``        ``break``;` `    ``// For rectangle/square``    ``case` `2:``        ``\$length` `= 3;``        ``\$breadth` `= 8;``        ``rectangle(``\$length``, ``\$breadth``);``        ``break``;` `    ``// For triangle``    ``case` `3:``        ``\$side` `= 6;``        ``triangle(``\$side``);``        ``break``;` `    ``// For hexagon``    ``case` `4:``        ``\$side` `= 4;``        ``hexagon(``\$side``);``        ``break``;``    ` `    ``default``:``        ``echo` `"Wrong choice\n"``;``    ``}``}` `// Driver Code``\$choice` `= 3;``printPattern(``\$choice``);` `// This code is contributed by Mithun Kumar``?>`

## Javascript

 `// Function to print a circle``function` `circle(radius) {``for` `(let i = 0; i <= 2 * radius; i++) {``let row = ``''``;``for` `(let j = 0; j <= 2 * radius; j++) {``const distance = Math.sqrt((i - radius) ** 2 + (j - radius) ** 2);``if` `(distance > radius - 0.5 && distance < radius + 0.5) {``row += ``'*'``;``} ``else` `{``row += ``' '``;``}``}``console.log(row);``}``}` `// Function to print a square or a rectangle``function` `rectangle(length, breadth) {``for` `(let i = 1; i <= length; i++) {``let row = ``''``;``for` `(let j = 1; j <= breadth; j++) {``if` `(i === 1 || i === length || j === 1 || j === breadth) {``row += ``'*'``;``} ``else` `{``row += ``' '``;``}``}``console.log(row);``}``}` `// Function to print triangle``function` `triangle(side) {``for` `(let i = 1; i <= side; i++) {``let row = ``''``;``for` `(let j = i; j < side; j++) {``row += ``' '``;``}``for` `(let j = 1; j <= 2 * i - 1; j++) {``if` `(i === side || j === 1 || j === 2 * i - 1) {``row += ``'*'``;``} ``else` `{``row += ``' '``;``}``}``console.log(row);``}``}` `// Function to print hexagon``function` `hexagon(length) {``for` `(let i = 1, k = length, l = 2 * length - 1; i < length; i++, k--, l++) {``let row = ``''``;``for` `(let j = 0; j < 3 * length; j++) {``if` `(j >= k && j <= l) {``row += ``''``;``} ``else` `{``row += ``' '``;``}``}``console.log(row);``}``for` `(let i = 0, k = 1, l = 3 * length - 2; i < length; i++, k++, l--) {``let row = ``''``;``for` `(let j = 0; j < 3 * length; j++) {``if` `(j >= k && j <= l) {``row += ``''``;``} ``else` `{``row += ``' '``;``}``}``console.log(row);``}``}` `// Function takes user choice``function` `printPattern(choice) {``let radius, length, breadth, side;``switch` `(choice) {``// For Circle``case` `1:``radius = 4;``circle(radius);``break``;``// For rectangle/square``case` `2:``length = 3;``breadth = 8;``rectangle(length, breadth);``break``;``// For triangle``case` `3:``side = 6;``triangle(side);``break``;``// For hexagon``case` `4:``side = 4;``hexagon(side);``break``;``default``:``console.log(``'Wrong choice'``);``}``}` `// Driver Program to test above function``const choice = 3;``printPattern(choice);`

Output :

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

Previous
Next