Program to print right and left arrow patterns
Last Updated :
20 Feb, 2023
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++
#include <iostream>
using namespace std;
void rightpattern( int n)
{
int c1 = (n - 1) / 2;
int c2 = 3 * n / 2 - 1;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j < n; j++) {
if (j - i == c1 || i + j == c2 || i == c1)
cout << "*" ;
else
cout << " " ;
}
cout << "\n" ;
}
}
void leftpattern( int n)
{
char s = ' ' ;
char st = '*' ;
for ( int i = (n - 1) / 2; i > 0; i--)
cout << string(i, s) << st << endl;
for ( int i = 0; i < n; i++)
cout << "*" ;
cout << endl;
for ( int i = 1; i <= (n - 1) / 2; i++)
cout << string(i, s) << st << endl;
cout << endl;
}
int main()
{
int n = 9;
rightpattern(n);
cout << endl << endl;
leftpattern(n);
return 0;
}
|
Java
class GFG
{
static void rightpattern( int n)
{
int c1 = (n - 1 ) / 2 ;
int c2 = 3 * n / 2 - 1 ;
for ( int i = 0 ; i < n; i++)
{
for ( int j = 0 ; j < n; j++)
{
if (j - i == c1 ||
i + j == c2 || i == c1)
{
System.out.print( "*" );
}
else
{
System.out.print( " " );
}
}
System.out.print( "\n" );
}
}
static void string( int n)
{
for ( int i = n; i > 0 ; i--)
{
System.out.print( " " );
}
}
static void leftpattern( int n)
{
char s = ' ' ;
char st = '*' ;
for ( int i = (n - 1 ) / 2 ; i > 0 ; i--)
{
string(i);
System.out.println(st);
}
for ( int i = 0 ; i < n; i++)
{
System.out.print( "*" );
}
System.out.println();
for ( int i = 1 ; i <= (n - 1 ) / 2 ; i++)
{
string(i);
System.out.println(st);
}
System.out.println();
}
public static void main(String args[])
{
int n = 9 ;
rightpattern(n);
System.out.println( "\n" );
leftpattern(n);
}
}
|
Python3
def rightpattern(n):
c1 = (n - 1 ) / / 2 ;
c2 = 3 * n / / 2 - 1 ;
for i in range (n):
for j in range (n):
if (j - i = = c1 or
i + j = = c2 or i = = c1):
print ( "*" , end = "");
else :
print ( " " , end = "");
print ();
def string(n):
for i in range (n):
print ( " " , end = "");
def leftpattern(n):
s = ' ' ;
st = '*' ;
for i in range ((n - 1 ) / / 2 , 0 , - 1 ):
string(i);
print (st);
for i in range (n):
print ( "*" , end = "");
print ();
for i in range ( 1 , ((n - 1 ) / / 2 ) + 1 ):
string(i);
print (st);
print ();
if __name__ = = '__main__' :
n = 9 ;
rightpattern(n);
print ("");
leftpattern(n);
|
C#
using System;
class GFG
{
static void rightpattern( int n)
{
int c1 = (n - 1) / 2;
int c2 = 3 * n / 2 - 1;
for ( int i = 0; i < n; i++)
{
for ( int j = 0; j < n; j++)
{
if (j - i == c1 ||
i + j == c2 || i == c1)
{
Console.Write( "*" );
}
else
{
Console.Write( " " );
}
}
Console.Write( "\n" );
}
}
static void String( int n)
{
for ( int i = n; i > 0; i--)
{
Console.Write( " " );
}
}
static void leftpattern( int n)
{
char s = ' ' ;
char st = '*' ;
for ( int i = (n - 1) / 2; i > 0; i--)
{
String(i);
Console.WriteLine(st);
}
for ( int i = 0; i < n; i++)
{
Console.Write( "*" );
}
Console.WriteLine();
for ( int i = 1; i <= (n - 1) / 2; i++)
{
String(i);
Console.WriteLine(st);
}
Console.WriteLine();
}
public static void Main()
{
int n = 9;
rightpattern(n);
Console.WriteLine( "\n" );
leftpattern(n);
}
}
|
PHP
<?php
function rightpattern( $n )
{
$c1 = ( $n - 1) / 2;
$c2 = floor (3 * $n / 2 - 1);
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = 0; $j < $n ; $j ++)
{
if (( $j - $i ) == $c1 ||
( $i + $j ) == $c2 ||
$i == $c1 )
echo "*" ;
else
echo " " ;
}
echo "\n" ;
}
}
function leftpattern( $n )
{
$s = ' ' ;
$st = '*' ;
for ( $i = ( $n - 1) / 2; $i > 0; $i --)
{
for ( $j = 0; $j < $i ; $j ++)
echo " " ;
echo $st . "\n" ;
}
for ( $i = 0; $i < $n ; $i ++)
echo "*" ;
echo "\n" ;
for ( $i = 1; $i <= ( $n - 1) / 2; $i ++)
{
for ( $j = 0; $j < $i ; $j ++)
echo " " ;
echo $st . "\n" ;
}
echo "\n" ;
}
$n = 9;
rightpattern( $n );
echo "\n\n" ;
leftpattern( $n );
?>
|
Javascript
<script>
function rightpattern(n) {
var c1 = (n - 1) / 2;
var c2 = Math.floor((3 * n) / 2 - 1);
for ( var i = 0; i < n; i++) {
for ( var j = 0; j < n; j++) {
if (j - i === c1 || i + j === c2
|| i === c1)
document.write( "*" );
else
document.write( " " );
}
document.write( "<br>" );
}
}
function leftpattern(n) {
var s = " " ;
var st = "*" ;
for ( var i = (n - 1) / 2; i > 0; i--) {
for ( var j = 0; j < i; j++)
document.write( " " );
document.write(st + "<br>" );
}
for ( var i = 0; i < n; i++)
document.write( "*" );
document.write( "<br>" );
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>" );
}
var n = 9;
rightpattern(n);
document.write( "<br><br>" );
leftpattern(n);
</script>
|
Output:
*
*
*
*
*********
*
*
*
*
*
*
*
*
*********
*
*
*
*
Time Complexity: O(n^2)
Auxiliary Space: O(1) because it is using constant space for variables
Share your thoughts in the comments
Please Login to comment...