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 <iostream> 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
<?php // function to print right arrow pattern function rightpattern($n) { // for printing upper portion $c1 = ($n - 1) / 2; // for printing lower portion $c2 = floor(3 * $n / 2 - 1); for ($i = 0; $i < $n; $i++) { for ($j = 0; $j < $n; $j++) { // checking conditions to // print right arrow if (($j - $i) == $c1 || ($i + $j) == $c2 || $i == $c1) echo "*"; // otherwise print space else echo " "; } // for jumping to next line echo "\n"; } } // function to print left arrow pattern function leftpattern($n) { $s = ' '; $st = '*'; // for printing upper part for ($i = ($n - 1) / 2; $i > 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
<script> // function to print right arrow pattern function rightpattern(n) { // for printing upper portion var c1 = (n - 1) / 2; // for printing lower portion var c2 = Math.floor((3 * n) / 2 - 1); for (var i = 0; i < n; i++) { for (var j = 0; j < n; j++) { // checking conditions to // print right arrow if (j - i === c1 || i + j === c2 || i === c1) document.write("*"); // otherwise print space else document.write(" "); } // for jumping to next line document.write("<br>"); } } // function to print left // arrow pattern function leftpattern(n) { var s = " "; var st = "*"; // for printing upper part for (var i = (n - 1) / 2; i > 0; i--) { for (var j = 0; j < i; j++) document.write(" "); document.write(st + "<br>"); } // for printing middle part for (var i = 0; i < n; i++) document.write("*"); document.write("<br>"); // for printing lower part for (var i = 1; i <= (n - 1) / 2; i++) { for (var j = 0; j < i; j++) document.write(" "); document.write(st + "<br>"); } document.write("<br>"); } // Driver Code var n = 9; // Must be odd // function calling to // print right arrow rightpattern(n); document.write("<br><br>"); // function calling to // print left arrow leftpattern(n); </script> |
Output:
*
*
*
*
*********
*
*
*
*
*
*
*
*
*********
*
*
*
*
Time Complexity: O(n^2)
Auxiliary Space: O(1) because it is using constant space for variables
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



