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)