GeeksforGeeks App
Open App
Browser
Continue

Program for Arrow Star Pattern

Given the value of n, print the pattern.
Examples :

```Input : 5
Output :
*****
****
***
**
*
**
***
****
*****

Input : 7
Output :
*******
******
*****
****
***
**
*
**
***
****
*****
******
*******```

Below is the implementation to print the above pattern :

C++

 `// C++ Implementation to print the pattern`` ` `#include ``using` `namespace` `std;`` ` `// arrow function ``int` `arrow(``int` `n)``{``    ``// Prints the upper part of the arrow``    ``for` `(``int` `i = 1; i <= n; i++) ``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = i; j < n; j++) ``        ``{``            ``printf``(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = i; j <= n; j++) ``        ``{``            ``cout << ``"*"``;``        ``}``        ``cout << endl;``    ``}``     ` `    ``// Prints lower part of the arrow``    ``for` `(``int` `i = 2; i <= n; i++)``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = 1; j < i; j++) ``        ``{``            ``printf``(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = 1; j <= i; j++) ``        ``{``            ``cout << ``"*"``;``        ``}``        ``cout << endl;``    ``}``}`` ` `// driver code``int` `main()``{``    ``// get the value from user``    ``int` `n = 5;``     ` `    ``// function calling``    ``arrow(n);`` ` `    ``return` `0;``}`

Java

 `// Java Implementation to``// print the above pattern``import` `java.io.*;`` ` `class` `GFG {`` ` `// arrow function ``static` `void` `arrow(``int` `n)``{``    ``// Prints the upper part of the arrow``    ``for` `(``int` `i = ``1``; i <= n; i++) ``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = i; j < n; j++) ``        ``{``            ``System.out.print(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = i; j <= n; j++) ``        ``{``            ``System.out.print(``"*"``);``        ``}``             ` `    ``System.out.println();``    ``}``     ` `    ``// Prints lower part of the arrow``    ``for` `(``int` `i = ``2``; i <= n; i++)``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = ``1``; j < i; j++) ``        ``{``            ``System.out.print(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = ``1``; j <= i; j++) ``        ``{``            ``System.out.print(``"*"``);``        ``}``    ``System.out.print(``'\n'``);``    ``}``}`` ` `// driver code``public` `static` `void` `main(String[] Argv) {``     ` `    ``// get the value from user``    ``int` `n = ``5``;``     ` `    ``// function calling``    ``arrow(n);``}``}`` ` `// this code is contributed by 'vt_m'`

Python3

 `# Python Implementation to ``# print the pattern``  ` `# arrow function ``def` `arrow(n):`` ` `    ``# Prints the upper part of the arrow``    ``for` `i ``in` `range``(``1``, n``+``1``): ``     ` `        ``# for the spacing to form``        ``# the point of the arrow``        ``for` `j ``in` `range``(i, n): ``         ` `            ``print``(``" "``, end``=``"")``         ` `        ``# for printing the star(*)``        ``for` `j ``in` `range``(i, n``+``1``): ``         ` `            ``print``(``"*"``, end``=``"")``         ` `        ``print``()``      ` `    ``# Prints lower part of the arrow``    ``for` `i ``in` `range``(``2``, n``+``1``):``     ` `        ``# for the spacing to form``        ``# the point of the arrow``        ``for` `j ``in` `range``(``1``, i): ``         ` `            ``print``(``" "``, end``=``"")``         ` `        ``# for printing the star(*)``        ``for` `j ``in` `range``(``1``, i``+``1``): ``         ` `            ``print``(``"*"``, end``=``"")``         ` `        ``print``()``  ` `# driver code``# get the value from the user``n ``=` `5``      ` `# function calling``arrow(n)`` ` `# This code is contributed ``# by Anant Agarwal.`

C#

 `// C# Implementation to``// print the above pattern``using` `System;`` ` `class` `GFG {`` ` `// arrow function ``static` `void` `arrow(``int` `n)``{``    ``// Prints the upper part of the arrow``    ``for` `(``int` `i = 1; i <= n; i++) ``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = i; j < n; j++) ``        ``{``            ``Console.Write(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = i; j <= n; j++) ``        ``{``            ``Console.Write(``"*"``);``        ``}``             ` `           ``Console.WriteLine();``    ``}``     ` `    ``// Prints lower part of the arrow``    ``for` `(``int` `i = 2; i <= n; i++)``    ``{``        ``// for the spacing to form``        ``// the point of the arrow``        ``for` `(``int` `j = 1; j < i; j++) ``        ``{``            ``Console.Write(``" "``);``        ``}``         ` `        ``// for printing the star(*)``        ``for` `(``int` `j = 1; j <= i; j++) ``        ``{``            ``Console.Write(``"*"``);``        ``}``         ``Console.WriteLine();``    ``}``}`` ` `// driver code``public` `static` `void` `Main() {``     ` `    ``// get the value from user``    ``int` `n = 5;``     ` `    ``// function calling``    ``arrow(n);``}``}`` ` `// this code is contributed by 'vt_m'`

PHP

 ``

Javascript

 ``

Output :

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

Time Complexity : O(n2) ,where n is the given input number.

Space Complexity : O(1) ,as we are not using any extra space.

My Personal Notes arrow_drop_up