Skip to content
Related Articles

Related Articles

Program to print the arrow pattern
  • Difficulty Level : Medium
  • Last Updated : 09 Apr, 2021

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++




// 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




// 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.

Python3




# 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#




// 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
// 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
?>

Javascript




<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: 
 

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

Another method: 
 

C++




// 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




// 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




// 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

Python3




# 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#




// 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

Output: 
 

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

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :