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
Please Login to comment...