Friday, January 17, 2025
Google search engine
HomeData Modelling & AIProgram for Hexagonal Pattern

Program for Hexagonal Pattern

Given a positive integer n, print a hexagonal pattern using start with each sides containing n stars. 
Example : 
 

Input : 4
Output :   
   *
  * *
 *   *
*     *
*     *
*     *
*     *
 *   *
  * *
   *
// Hexagon pattern with each side
// having n stars where n is the user input.

Input : 6
Output :   
     *
    * *
   *   *
  *     *
 *       *
*         *
*         *
*         *
*         *
*         *
*         *
 *       *
  *     *
   *   *
    * *
     *

 

C++




// C++ program to print hexagonal pattern
#include <stdio.h>
  
void printHexagon(int n)
{
    int l = 2 * n - 1;
  
    /**** Print upper part *****/
    for (int i = 0; i < n; i++)
    {
        int elem = i + n;
  
        // loop for printing the
        // whitespaces and the star
        for (int k = 0; k < elem; k++)
        {
            // prints the star
            if ((k == n + i - 1) || (k == n - i - 1))
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
  
    /**** Print middle part *****/
    // Here we print two vertical lines
    for (int m = 0; m < n - 2; m++)
    {
        for (int j = 0; j < l; j++)
        {
            if (j == 0 || j == l - 1)
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
  
    /**** Print Lower part *****/
    int r = n - 1;
    for (int h = r; h >= 0; h--)
    {
        int elem = h + n;
        for (int k = 0; k < elem; k++)
        {
            if ((k == n + h - 1) || (k == n - h - 1))
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
}
  
// Driver Code
int main()
{
    // length of a side
    // n >= 2
    int n = 3;
    printHexagon(n);
    return 0;
}


Java




// Java program to print hexagonal pattern
  
class GFG
{
    static void printHexagon(int n)
    {
        int l = 2 * n - 1;
      
        /**** Print upper part *****/
        for (int i = 0; i < n; i++)
        {
            int elem = i + n;
      
            // loop for printing the
            // whitespaces and the star
            for (int k = 0; k < elem; k++)
            {
                // prints the star
                if ((k == n + i - 1) ||
                    (k == n - i - 1))
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
            System.out.print("\n");
        }
      
        /**** Print middle part *****/
        // Here we print two vertical lines
        for (int m = 0; m < n - 2; m++)
        {
            for (int j = 0; j < l; j++)
            {
                if (j == 0 || j == l - 1)
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
            System.out.print("\n");
        }
      
        /**** Print Lower part *****/
        int r = n - 1;
        for (int h = r; h >= 0; h--)
        {
            int elem = h + n;
            for (int k = 0; k < elem; k++)
            {
                if ((k == n + h - 1) ||
                    (k == n - h - 1))
                    System.out.print("*");
                else
                    System.out.print(" ");
            }
            System.out.print("\n");
        }
    }
      
    // Driver code
    public static void main (String[] args)
    {
        // length of a side
        // n >= 2
        int n = 3;
        printHexagon(n);
    }
}
  
// This code is contributed by Anant Agarwal.


Python 3




# Python3 program to 
# print hexagonal pattern
def printHexagon(n):
  
    l = 2 * n - 1
  
    # Print upper part 
    for i in range(0, n):
      
        elem = i + n
  
        # loop for printing the
        # whitespaces and the star
        for k in range(0, elem):
          
            # prints the star
            if ((k == n + i - 1) or 
                (k == n - i - 1)):
                print("*", end = "")
            else:
                print(" ", end = "")
          
        print("")
      
    # Print middle part 
    # Here we print two 
    # vertical lines
    for m in range(0, n - 2):
      
        for j in range(0, l):
              
            if (j == 0 or j == l - 1):
                print("*", end = "")
            else:
                print(" ", end = "")
          
        print("")
      
    # Print Lower part 
    r = n - 1
    for h in range(r, -1, -1):
      
        elem = h + n
        for k in range(0, elem):
          
            if ((k == n + h - 1) or 
                (k == n - h - 1)):
                print("*", end = "")
            else:
                print(" ", end = "")
                  
        print("")
      
# Driver Code
# length of a side
# n >= 2
n = 3
printHexagon(n)
  
# This code is contributed
# by Smitha


C#




// C# program to print hexagonal pattern 
using System; 
class GFG 
    static void printHexagon(int n) 
    
        int l = 2 * n - 1; 
        
        /**** Print upper part *****/ 
        for (int i = 0; i < n; i++) 
        
            int elem = i + n; 
        
            // loop for printing the 
            // whitespaces and the star 
            for (int k = 0; k < elem; k++) 
            
                // prints the star 
                if ((k == n + i - 1) || 
                    (k == n - i - 1)) 
                    Console.Write("*"); 
                else 
                    Console.Write(" "); 
            
                    Console.WriteLine(); 
        
        
        /**** Print middle part *****/ 
        // Here we print two vertical lines 
        for (int m = 0; m < n - 2; m++) 
        
            for (int j = 0; j < l; j++) 
            
                if (j == 0 || j == l - 1) 
                    Console.Write("*"); 
                else 
                    Console.Write(" "); 
            
                   Console.WriteLine(); 
        
        
        /**** Print Lower part *****/ 
        int r = n - 1; 
        for (int h = r; h >= 0; h--) 
        
            int elem = h + n; 
            for (int k = 0; k < elem; k++) 
            
                if ((k == n + h - 1) || 
                    (k == n - h - 1)) 
                    Console.Write("*"); 
                else 
                    Console.Write(" "); 
            
                    Console.WriteLine(); 
        
    
        
    // Driver code 
    public static void Main () 
    
        // length of a side 
        // n >= 2 
        int n = 3; 
        printHexagon(n); 
    
    
// This code is contributed by vt_m.


PHP




<?php
// PHP implementation to 
// print hexagonal pattern
  
function printHexagon($n)
{
    $l = 2 * $n - 1;
  
    // Print upper part 
    for ($i = 0; $i < $n; $i++)
    {
        $elem = $i + $n;
  
        // loop for printing the
        // whitespaces and the star
        for ($k = 0; $k < $elem; $k++)
        {
            // prints the star
            if (($k == $n + $i - 1) || 
                ($k == $n - $i - 1))
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
  
    // Print middle part
    // Here we print two vertical lines
    for ($m = 0; $m < $n - 2; $m++)
    {
        for ($j = 0; $j < $l; $j++)
        {
            if ($j == 0 || $j == $l - 1)
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
  
    // Print Lower part 
    $r = $n - 1;
    for ($h = $r; $h >= 0; $h--)
    {
        $elem = $h + $n;
        for ($k = 0; $k < $elem; $k++)
        {
            if (($k == $n + $h - 1) || 
                ($k == $n - $h - 1))
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
}
  
// Driver Code
  
// length of a side n >= 2
$n = 3;
printHexagon($n);
  
// This code is contributed by mits 
?>


Javascript




<script>
      // JavaScript program to print hexagonal pattern
      function printHexagon(n) 
      {
        var l = 2 * n - 1;
  
        /**** Print upper part *****/
        for (var i = 0; i < n; i++)
        {
          var elem = i + n;
  
          // loop for printing the
          // whitespaces and the star
          for (var k = 0; k < elem; k++)
          {
            
            // prints the star
            if (k == n + i - 1 || k == n - i - 1) document.write("*");
            else document.write("  ");
          }
          document.write("<br>");
        }
  
        /**** Print middle part *****/
        // Here we print two vertical lines
        for (var m = 0; m < n - 2; m++)
        {
          for (var j = 0; j < l; j++)
          {
            if (j == 0 || j == l - 1) document.write("*");
            else document.write("  ");
          }
          document.write("<br>");
        }
  
        /**** Print Lower part *****/
        var r = n - 1;
        for (var h = r; h >= 0; h--)
        {
          var elem = h + n;
          for (var k = 0; k < elem; k++)
          {
            if (k == n + h - 1 || k == n - h - 1) document.write("*");
            else document.write("  ");
          }
          document.write("<br>");
        }
      }
  
      // Driver Code
      // length of a side
      // n >= 2
      var n = 3;
      printHexagon(n);
        
      // This code is contributed by rdtank.
    </script>


Output : 
 

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

Time complexity: O(n^2) for given input n

Auxiliary space: O(1)
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments