GeeksforGeeks App
Open App
Browser
Continue

# Program to print right and left arrow patterns

Write to program to print the right arrow pattern and the left arrow pattern formed of stars. Input is an odd number n which represents height and width of pattern to be printed.
Examples:

```Input : n = 9
Output :
*
*
*
*
*********
*
*
*
*

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

Input : n = 7
Output :
*
*
*
*******
*
*
*

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

## C++

 `// C++ program to print Pyramid pattern``#include ``using` `namespace` `std;`` ` `// function to print right arrow pattern``void` `rightpattern(``int` `n)``{``    ``// for printing upper portion``    ``int` `c1 = (n - 1) / 2;`` ` `    ``// for printing lower portion``    ``int` `c2 = 3 * n / 2 - 1;`` ` `    ``for` `(``int` `i = 0; i < n; i++) {``        ``for` `(``int` `j = 0; j < n; j++) {`` ` `            ``// checking conditions to print right arrow``            ``if` `(j - i == c1 || i + j == c2 || i == c1)``                ``cout << ``"*"``;`` ` `            ``// otherwise print space``            ``else``                ``cout << ``" "``;``        ``}``        ``// for jumping to next line``        ``cout << ``"\n"``;``    ``}``}`` ` `// function to print left arrow pattern``void` `leftpattern(``int` `n)``{``    ``char` `s = ``' '``;``    ``char` `st = ``'*'``;`` ` `    ``// for printing upper part``    ``for` `(``int` `i = (n - 1) / 2; i > 0; i--)``        ``cout << string(i, s) << st << endl;`` ` `    ``// for printing middle part``    ``for` `(``int` `i = 0; i < n; i++)``        ``cout << ``"*"``;``    ``cout << endl;`` ` `    ``// for printing lower part``    ``for` `(``int` `i = 1; i <= (n - 1) / 2; i++)``        ``cout << string(i, s) << st << endl;``    ``cout << endl;``}`` ` `// Driver program``int` `main()``{``    ``int` `n = 9; ``// Must be odd`` ` `    ``// function calling to print right arrow``    ``rightpattern(n);`` ` `    ``cout << endl  << endl;`` ` `    ``// function calling to print left arrow``    ``leftpattern(n);`` ` `    ``return` `0;``}`

## Java

 `// Java program to print Pyramid pattern ``class` `GFG ``{`` ` `// function to print right arrow pattern ``static` `void` `rightpattern(``int` `n)``{``    ``// for printing upper portion ``    ``int` `c1 = (n - ``1``) / ``2``;`` ` `    ``// for printing lower portion ``    ``int` `c2 = ``3` `* n / ``2` `- ``1``;`` ` `    ``for` `(``int` `i = ``0``; i < n; i++) ``    ``{``        ``for` `(``int` `j = ``0``; j < n; j++) ``        ``{`` ` `            ``// checking conditions to print``            ``// right arrow ``            ``if` `(j - i == c1 || ``                ``i + j == c2 || i == c1) ``            ``{``                ``System.out.print(``"*"``);``            ``} ``// otherwise print space ``            ``else` `            ``{``                ``System.out.print(``" "``);``            ``}``        ``}``        ``// for jumping to next line ``        ``System.out.print(``"\n"``);``    ``}``}`` ` `static` `void` `string(``int` `n) ``{``    ``for` `(``int` `i = n; i > ``0``; i--) ``    ``{``        ``System.out.print(``" "``);``    ``}``}`` ` `// function to print left arrow pattern ``static` `void` `leftpattern(``int` `n) ``{``    ``char` `s = ``' '``;``    ``char` `st = ``'*'``;`` ` `    ``// for printing upper part ``    ``for` `(``int` `i = (n - ``1``) / ``2``; i > ``0``; i--) ``    ``{``        ``string(i);``        ``System.out.println(st);``    ``}``     ` `    ``// for printing middle part ``    ``for` `(``int` `i = ``0``; i < n; i++) ``    ``{``        ``System.out.print(``"*"``);``    ``}``    ``System.out.println();`` ` `    ``// for printing lower part ``    ``for` `(``int` `i = ``1``; i <= (n - ``1``) / ``2``; i++) ``    ``{``        ``string(i);``        ``System.out.println(st);``    ``}``    ``System.out.println();``}`` ` `// Driver Code``public` `static` `void` `main(String args[])``{``    ``int` `n = ``9``; ``// Must be odd `` ` `    ``// function calling to print ``    ``// right arrow ``    ``rightpattern(n);`` ` `    ``System.out.println(``"\n"``);`` ` `    ``// function calling to print ``    ``// left arrow ``    ``leftpattern(n);``}``}`` ` `// This code is contributed ``// by PrinciRaj1992 `

## Python3

 `# Python3 program to print Pyramid pattern`` ` `# function to print right arrow pattern``def` `rightpattern(n):``     ` `    ``# for printing upper portion``    ``c1 ``=` `(n ``-` `1``) ``/``/` `2``;`` ` `    ``# for printing lower portion``    ``c2 ``=` `3` `*` `n ``/``/` `2` `-` `1``;`` ` `    ``for` `i ``in` `range``(n):`` ` `        ``for` `j ``in` `range``(n):`` ` `            ``# checking conditions to print``            ``# right arrow``            ``if` `(j ``-` `i ``=``=` `c1 ``or``                ``i ``+` `j ``=``=` `c2 ``or` `i ``=``=` `c1):`` ` `                ``print``(``"*"``, end ``=` `"");``                 ` `            ``# otherwise print space``            ``else``:`` ` `                ``print``(``" "``, end ``=` `"");`` ` `        ``# for jumping to next line``        ``print``();`` ` `def` `string(n):`` ` `    ``for` `i ``in` `range``(n):``        ``print``(``" "``, end ``=` `"");`` ` `# function to print left arrow pattern``def` `leftpattern(n):`` ` `    ``s ``=` `' '``;``    ``st ``=` `'*'``;`` ` `    ``# for printing upper part``    ``for` `i ``in` `range``((n ``-` `1``) ``/``/` `2``, ``0``, ``-``1``):``        ``string(i);``        ``print``(st);`` ` `    ``# for printing middle part``    ``for` `i ``in` `range``(n):``        ``print``(``"*"``, end ``=` `"");`` ` `    ``print``();`` ` `    ``# for printing lower part``    ``for` `i ``in` `range``(``1``, ((n ``-` `1``) ``/``/` `2``) ``+` `1``):``        ``string(i);``        ``print``(st);`` ` `    ``print``();`` ` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``n ``=` `9``; ``# Must be odd`` ` `    ``# function calling to print``    ``# right arrow``    ``rightpattern(n);`` ` `    ``print``("");`` ` `    ``# function calling to print``    ``# left arrow``    ``leftpattern(n);`` ` `# This code is contributed by PrinciRaj1992`

## C#

 `// C# program to print Pyramid pattern ``using` `System;`` ` `class` `GFG ``{`` ` `// function to print right arrow pattern ``static` `void` `rightpattern(``int` `n)``{``    ``// for printing upper portion ``    ``int` `c1 = (n - 1) / 2;`` ` `    ``// for printing lower portion ``    ``int` `c2 = 3 * n / 2 - 1;`` ` `    ``for` `(``int` `i = 0; i < n; i++) ``    ``{``        ``for` `(``int` `j = 0; j < n; j++) ``        ``{`` ` `            ``// checking conditions to print``            ``// right arrow ``            ``if` `(j - i == c1 || ``                ``i + j == c2 || i == c1) ``            ``{``                ``Console.Write(``"*"``);``            ``} ``// otherwise print space ``            ``else``            ``{``                ``Console.Write(``" "``);``            ``}``        ``}``        ``// for jumping to next line ``        ``Console.Write(``"\n"``);``    ``}``}`` ` `static` `void` `String(``int` `n) ``{``    ``for` `(``int` `i = n; i > 0; i--) ``    ``{``        ``Console.Write(``" "``);``    ``}``}`` ` `// function to print left arrow pattern ``static` `void` `leftpattern(``int` `n) ``{``    ``char` `s = ``' '``;``    ``char` `st = ``'*'``;`` ` `    ``// for printing upper part ``    ``for` `(``int` `i = (n - 1) / 2; i > 0; i--) ``    ``{``        ``String(i);``        ``Console.WriteLine(st);``    ``}``     ` `    ``// for printing middle part ``    ``for` `(``int` `i = 0; i < n; i++) ``    ``{``        ``Console.Write(``"*"``);``    ``}``    ``Console.WriteLine();`` ` `    ``// for printing lower part ``    ``for` `(``int` `i = 1; i <= (n - 1) / 2; i++) ``    ``{``        ``String(i);``        ``Console.WriteLine(st);``    ``}``    ``Console.WriteLine();``}`` ` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `n = 9; ``// Must be odd `` ` `    ``// function calling to print ``    ``// right arrow ``    ``rightpattern(n);`` ` `    ``Console.WriteLine(``"\n"``);`` ` `    ``// function calling to print ``    ``// left arrow ``    ``leftpattern(n);``}``}`` ` `// This code is contributed ``// by Akanksha Rai`

## PHP

 ` 0; ``\$i``--)``    ``{``    ``for``(``\$j` `= 0; ``\$j` `< ``\$i``; ``\$j``++)``        ``echo` `" "``;``    ``echo` `\$st``.``"\n"``;``    ``}``     ` `    ``// for printing middle part``    ``for` `(``\$i` `= 0; ``\$i` `< ``\$n``; ``\$i``++)``        ``echo` `"*"``;``    ``echo` `"\n"``;`` ` `    ``// for printing lower part``    ``for` `(``\$i` `= 1; ``\$i` `<= (``\$n` `- 1) / 2; ``\$i``++)``    ``{``            ``for``(``\$j` `= 0; ``\$j` `< ``\$i``; ``\$j``++)``        ``echo` `" "``;``    ``echo` `\$st``.``"\n"``;``    ``}``    ``echo` `"\n"``;``}`` ` `    ``// Driver Code``    ``\$n` `= 9; ``// Must be odd`` ` `    ``// function calling to ``    ``// print right arrow``    ``rightpattern(``\$n``);`` ` `    ``echo` `"\n\n"``;`` ` `    ``// function calling to ``    ``// print left arrow``    ``leftpattern(``\$n``);`` ` ` ` `// This code is contributed by mits `` ` `?>`

## Javascript

 ``

Output:

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

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

Time Complexity: O(n^2)

Auxiliary Space: O(1) because it is using constant space for variables

My Personal Notes arrow_drop_up