Open In App

Program to print the arrow pattern

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

Input : n = 5
Output : 

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

Input : n = 7
Output : 

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

 

Below is the program to print the arrow pattern:
 




// C++ program to print the
// arrow pattern
#include <bits/stdc++.h>
using namespace std;
  
// Function to print pattern
void print_arrow(int n)
{
    // for printing upper part
    // of the arrow
    for (int i = 1; i < n; i++) {
  
        // To give space before printing
        // stars in upper part of arrow
        for (int j = 0; j < i; j++) {
            cout << " ";
        }
  
        // To print stars in upper
        // part of the arrow
        for (int k = 0; k < i; k++) {
            cout << "*";
        }
        cout << "\n";
    }
  
    // for printing lower part
    // of the arrow
    for (int i = 0; i < n; i++) {
  
        // To give space before printing
        // stars in lower part of arrow
        for (int j = 0; j < n - i; j++) {
            cout << " ";
        }
  
        // To print stars in lower
        // part of the arrow
        for (int k = 0; k < n - i; k++) {
            cout << "*";
        }
        cout << "\n";
    }
}
  
// Driver code
int main()
{
    // taking input from user
    int n = 5;
  
    // function calling
    print_arrow(n);
    return 0;
}




// Java program to print the
// arrow pattern
  
import java.io.*;
  
class GFG {
  
// Function to print pattern
static void print_arrow(int n)
{
    // for printing upper part
    // of the arrow
    for (int i = 1; i < n; i++) {
   
        // To give space before printing
        // stars in upper part of arrow
        for (int j = 0; j < i; j++) {
            System.out.print(" ");
        }
   
        // To print stars in upper
        // part of the arrow
        for (int k = 0; k < i; k++) {
            System.out.print("*");
        }
        System.out.println();
    }
   
    // for printing lower part
    // of the arrow
    for (int i = 0; i < n; i++) {
   
        // To give space before printing
        // stars in lower part of arrow
        for (int j = 0; j < n - i; j++) {
            System.out.print(" ");
        }
   
        // To print stars in lower
        // part of the arrow
        for (int k = 0; k < n - i; k++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
  
public static void main (String[] args)
       {
  
    // taking input from user
    int n = 5;
   
    // function calling
    print_arrow(n);
          
    }
}
  
// This code is contributed by Gitanjali.




# Python program to print the
# arrow pattern
  
import math
  
# Function to print pattern
def print_arrow(n):
  
    # for printing upper part
    # of the arrow
    for i in range(1,n):
   
        # To give space before printing
        # stars in upper part of arrow
        for j in range(0,i):
            print(" ",end="")
          
   
        # To print stars in upper
        # part of the arrow
        for k in range(0,i):
            print("*",end="")
          
        print()
      
   
    # for printing lower part
    # of the arrow
    for i in range(0,n):
   
        # To give space before printing
        # stars in lower part of arrow
        for j in range (0,n-i):
            print(" ",end="")
          
   
        # To print stars in lower
        # part of the arrow
        for k in range (0,n-i):
            print("*",end="")
          
        print()
      
#driver code
  
n = 5
   
# function calling
print_arrow(n)
  
# This code is contributed by Gitanjali.




// C# program to print 
// the arrow pattern
using System;
  
class GFG {
  
    // Function to print pattern
    static void print_arrow(int n)
    {
        // for printing upper 
        // part of the arrow
        for (int i = 1; i < n; i++) {
  
            // To give space before printing
            // stars in upper part of arrow
            for (int j = 0; j < i; j++) {
                Console.Write(" ");
            }
  
            // To print stars in upper
            // part of the arrow
            for (int k = 0; k < i; k++) {
                Console.Write("*");
            }
            Console.WriteLine();
        }
  
        // for printing lower 
        // part of the arrow
        for (int i = 0; i < n; i++) {
  
            // To give space before printing
            // stars in lower part of arrow
            for (int j = 0; j < n - i; j++) {
                Console.Write(" ");
            }
  
            // To print stars in lower
            // part of the arrow
            for (int k = 0; k < n - i; k++) {
                Console.Write("*");
            }
            Console.WriteLine();
        }
    }
      
    // Driver code
    public static void Main()
    {
        // taking input from user
        int n = 5;
  
        // function calling
        print_arrow(n);
    }
}
  
// This code is contributed by vt_m.




<?php
// PHP implementation to print 
// the arrow pattern
  
// Function to print pattern
function print_arrow($n)
{
    // for printing upper part
    // of the arrow
    for ($i = 1; $i < $n; $i++) 
    {
  
        // To give space before printing
        // stars in upper part of arrow
        for ($j = 0; $j < $i; $j++)
        {
            echo " ";
        }
  
        // To print stars in upper
        // part of the arrow
        for ($k = 0; $k < $i; $k++)
        {
            echo "*";
        }
        echo "\n";
    }
  
    // for printing lower part
    // of the arrow
    for ($i = 0; $i < $n; $i++) 
    {
  
        // To give space before printing
        // stars in lower part of arrow
        for ($j = 0; $j < $n - $i; $j++) 
        {
            echo " ";
        }
  
        // To print stars in lower
        // part of the arrow
        for ($k = 0; $k < $n - $i; $k++) 
        {
            echo "*";
        }
        echo "\n";
    }
}
  
// Driver code
$n = 5;
print_arrow($n);
  
// This code is contributed by Mithun Kumar
?>




<script>
  
      // JavaScript program to print the
      // arrow pattern
  
      // Function to print pattern
      function print_arrow(n) 
      {
        // for printing upper part
        // of the arrow
        for (var i = 1; i < n; i++) 
        {
          // To give space before printing
          // stars in upper part of arrow
          for (var j = 0; j < i; j++) 
          {
            document.write("  ");
          }
  
          // To print stars in upper
          // part of the arrow
          for (var k = 0; k < i; k++) {
            document.write("*");
          }
          document.write("<br>");
        }
  
        // for printing lower part
        // of the arrow
        for (var i = 0; i < n; i++) 
        {
          // To give space before printing
          // stars in lower part of arrow
          for (var j = 0; j < n - i; j++) 
          {
            document.write("  ");
          }
  
          // To print stars in lower
          // part of the arrow
          for (var k = 0; k < n - i; k++) 
          {
            document.write("*");
          }
          document.write("<br>");
        }
      }
  
      // Driver code
        
      // taking input from user
      var n = 5;
  
      // function calling
      print_arrow(n);
        
</script>

Output: 
 

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

Time Complexity: O(n2)

Auxiliary Space: O(1)
Another method: 
 




// C++ program to print the
// arrow pattern
#include <iostream>
#include<stdlib.h>
using namespace std;
class gfg
{
public : void print_arrow(int n)
{
    // Total no of rows
    for(int i = 0; i < n + n - 1; i++)
    {
        int size = i;
        if(i >= n)
        {
            size = n + n - i - 2;
        }
          
        // cols in each row
        for(int j = 0; j <= size + size; j++)     
            {
            if(j < size)     // For printing space
            {
                cout<<" ";
            }
            else         // For printing * 
            {
                cout<<"*";
            }
        }
        cout<<"\n";
    }
 }
};
  
// Driver code
int main()
{
    gfg g;
    // taking input from user
    int n = 5;
  
    // function calling
    g.print_arrow(n);
    return 0;
}




// C program to print the
// arrow pattern
#include <stdio.h>
#include<stdlib.h>
void print_arrow(int n)
{
    // Total no of rows
    for(int i = 0; i < n + n - 1; i++)
    {
        int size = i;
        if(i >= n)
        {
            size = n + n - i - 2;
        }
          
        // cols in each row
        for(int j = 0; j <= size + size; j++)     
            {
            if(j < size)     // For printing space
            {
                printf(" ");
            }
            else         // For printing * 
            {
                printf("*");
            }
        }
        printf("\n");
    }
}
  
// Driver code
int main()
{
    // taking input from user
    int n = 5;
  
    // function calling
    print_arrow(n);
    return 0;
}




// Java program to print the
// arrow pattern
class GFG
{
      
static void print_arrow(int n)
{
    // Total no of rows
    for(int i = 0; i < n + n - 1; i++)
    {
        int size = i;
        if(i >= n)
        {
            size = n + n - i - 2;
        }
          
        // cols in each row
        for(int j = 0; j <= size + size; j++)     
            {
            if(j < size)     // For printing space
            {
                System.out.print(" ");
            }
            else         // For printing * 
            {
                System.out.print("*");
            }
        }
        System.out.print("\n");
    }
}
  
// Driver code
public static void main(String args[])
{
    // taking input from user
    int n = 5;
  
    // function calling
    print_arrow(n);
}
}
  
// This code is contributed 
// by Akanksha Rai




# Python 3 program to print the 
# arrow pattern 
def print_arrow(n):
  
    # Total no of rows 
    for i in range(n + n - 1):
        size = i
        if i >= n:
            size = n + n - i - 2
  
        # cols in each row 
        for j in range(size + size):
            if j < size:     # For printing space 
                print(' ', end = '')
            else:         # For printing *
                print('*', end = '')
        print()
  
# Driver code 
  
# taking input from user 
n = 5
  
# function calling
print_arrow(n)
  
# This code is contributed
# by SamyuktaSHegde. 




// C# program to print the
// arrow pattern
using System;
class GFG
{
      
static void print_arrow(int n)
{
    // Total no of rows
    for(int i = 0; i < n + n - 1; i++)
    {
        int size = i;
        if(i >= n)
        {
            size = n + n - i - 2;
        }
          
        // cols in each row
        for(int j = 0; j <= size + size; j++)     
            {
            if(j < size)     // For printing space
            {
                Console.Write(" ");
            }
            else         // For printing * 
            {
                Console.Write("*");
            }
        }
        Console.Write("\n");
    }
}
  
// Driver code
public static void Main()
{
    // taking input from user
    int n = 5;
  
    // function calling
    print_arrow(n);
}
}
  
// This code is contributed 
// by Akanksha Rai




<script>
// javascript program to print the
// arrow pattern
function print_arrow(n)
{
    // Total no of rows
    for(var i = 0; i < n + n - 1; i++)
    {
        var size = i;
        if(i >= n)
        {
            size = n + n - i - 2;
        }
          
        // cols in each row
        for(var j = 0; j <= size + size; j++)     
            {
            if(j < size)     // For printing space
            {
                document.write(" ");
            }
            else         // For printing * 
            {
                document.write("*");
            }
        }
        document.write("<br>");
    }
}
  
// Driver code
  
// taking input from user
var n = 5;
  
// function calling
print_arrow(n);
  
// This code is contributed by Princi Singh
</script>

Output: 
 

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

Time Complexity: O(N2)

Auxiliary Space: O(1)
 


Article Tags :