Open In App

Program for Arrow Star Pattern

Last Updated : 20 Feb, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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

Input : 5
Output :
    *****
   ****
  ***
 **
*
 **
  ***
   ****
    *****

Input : 7
Output : 
      *******
     ******
    *****
   ****
  ***
 **
*
 **
  ***
   ****
    *****
     ******
      *******


 


Below is the implementation to print the above pattern : 
 

C++
// C++ Implementation to print the pattern

#include <bits/stdc++.h>
using namespace std;

// arrow function 
int arrow(int n)
{
    // Prints the upper part of the arrow
    for (int i = 1; i <= n; i++) 
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = i; j < n; j++) 
        {
            printf(" ");
        }
        
        // for printing the star(*)
        for (int j = i; j <= n; j++) 
        {
            cout << "*";
        }
        cout << endl;
    }
    
    // Prints lower part of the arrow
    for (int i = 2; i <= n; i++)
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = 1; j < i; j++) 
        {
            printf(" ");
        }
        
        // for printing the star(*)
        for (int j = 1; j <= i; j++) 
        {
            cout << "*";
        }
        cout << endl;
    }
}

// driver code
int main()
{
    // get the value from user
    int n = 5;
    
    // function calling
    arrow(n);

    return 0;
}
Java
// Java Implementation to
// print the above pattern
import java.io.*;

class GFG {

// arrow function 
static void arrow(int n)
{
    // Prints the upper part of the arrow
    for (int i = 1; i <= n; i++) 
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = i; j < n; j++) 
        {
            System.out.print(" ");
        }
        
        // for printing the star(*)
        for (int j = i; j <= n; j++) 
        {
            System.out.print("*");
        }
            
    System.out.println();
    }
    
    // Prints lower part of the arrow
    for (int i = 2; i <= n; i++)
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = 1; j < i; j++) 
        {
            System.out.print(" ");
        }
        
        // for printing the star(*)
        for (int j = 1; j <= i; j++) 
        {
            System.out.print("*");
        }
    System.out.print('\n');
    }
}

// driver code
public static void main(String[] Argv) {
    
    // get the value from user
    int n = 5;
    
    // function calling
    arrow(n);
}
}

// this code is contributed by 'vt_m'
Python3
# Python Implementation to 
# print the pattern
 
# arrow function 
def arrow(n):

    # Prints the upper part of the arrow
    for i in range(1, n+1): 
    
        # for the spacing to form
        # the point of the arrow
        for j in range(i, n): 
        
            print(" ", end="")
        
        # for printing the star(*)
        for j in range(i, n+1): 
        
            print("*", end="")
        
        print()
     
    # Prints lower part of the arrow
    for i in range(2, n+1):
    
        # for the spacing to form
        # the point of the arrow
        for j in range(1, i): 
        
            print(" ", end="")
        
        # for printing the star(*)
        for j in range(1, i+1): 
        
            print("*", end="")
        
        print()
 
# driver code
# get the value from the user
n = 5
     
# function calling
arrow(n)

# This code is contributed 
# by Anant Agarwal.
C#
// C# Implementation to
// print the above pattern
using System;

class GFG {

// arrow function 
static void arrow(int n)
{
    // Prints the upper part of the arrow
    for (int i = 1; i <= n; i++) 
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = i; j < n; j++) 
        {
            Console.Write(" ");
        }
        
        // for printing the star(*)
        for (int j = i; j <= n; j++) 
        {
            Console.Write("*");
        }
            
           Console.WriteLine();
    }
    
    // Prints lower part of the arrow
    for (int i = 2; i <= n; i++)
    {
        // for the spacing to form
        // the point of the arrow
        for (int j = 1; j < i; j++) 
        {
            Console.Write(" ");
        }
        
        // for printing the star(*)
        for (int j = 1; j <= i; j++) 
        {
            Console.Write("*");
        }
         Console.WriteLine();
    }
}

// driver code
public static void Main() {
    
    // get the value from user
    int n = 5;
    
    // function calling
    arrow(n);
}
}

// this code is contributed by 'vt_m'
PHP
<?php
// PHP Implementation to print
// the pattern

function arrow($n)
{
    // Prints the upper part of 
    // the arrow
    for ($i = 1; $i <= $n; $i++) 
    {
        // for the spacing to form
        // the point of the arrow
        for ($j = $i; $j < $n; $j++) 
        {
            echo " ";
        }
        
        // for printing the star(*)
        for ($j = $i; $j <= $n; $j++) 
        {
            echo "*";
        }
        echo "\n";
    }
    
    // Prints lower part of the arrow
    for ($i = 2; $i <= $n; $i++)
    {
        // for the spacing to form
        // the point of the arrow
        for ($j = 1; $j < $i; $j++) 
        {
            echo " ";
        }
        
        // for printing the star(*)
        for ($j = 1; $j <= $i; $j++) 
        {
            echo "*";
        }
        echo "\n";
    }
}

// Driver code
$n = 5;
arrow($n);

// This code is contributed by mits
?>
JavaScript
<script>

      // JavaScript Implementation 
      // to print the pattern

      // arrow function
      function arrow(n)
      {
        // Prints the upper part of the arrow
        for (var i = 1; i <= n; i++) 
        {
          // for the spacing to form
          // the point of the arrow
          for (var j = i; j < n; j++) 
          {
            document.write("&nbsp;&nbsp;");
          }

          // for printing the star(*)
          for (var j = i; j <= n; j++) 
          {
            document.write("*");
          }
          document.write("<br>");
        }

        // Prints lower part of the arrow
        for (var i = 2; i <= n; i++)
        {
          // for the spacing to form
          // the point of the arrow
          for (var j = 1; j < i; j++) {
            document.write("&nbsp;&nbsp;");
          }

          // for printing the star(*)
          for (var j = 1; j <= i; j++) 
          {
            document.write("*");
          }
          document.write("<br>");
        }
      }

      // driver code
      
      // get the value from user
      var n = 5;
      
      // function calling
      arrow(n);
</script>

Output :  

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

Time Complexity : O(n2) ,where n is the given input number.

Space Complexity : O(1) ,as we are not using any extra space.
 


Next Article

Similar Reads