Given the number of rows and columns, print the corresponding swastika pattern using loops.
Note: The number of rows and columns should be the same and an odd number. This will generate a perfect swastika pattern.
Examples :
Input : row = 7, column = 7 Output: * * * * * * * * * * * * * * * * * * * * * * * * * Input : row = 11, column = 11 Output : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Recommended: Please try your approach on {IDE} first, before moving on a solution.
Below is the implementation to print the swastika pattern.
C++
// C++ implementation to // print swastika pattern #include <bits/stdc++.h> using namespace std;
// function to print swastika void swastika( int row, int col)
{ for ( int i = 0; i < row; i++) {
for ( int j = 0; j < col; j++) {
// checking if i < row/2
if (i < row / 2) {
// checking if j<col/2
if (j < col / 2) {
// print '*' if j=0
if (j == 0)
cout << "*" ;
// else print space
else
cout << " " << " " ;
}
// check if j=col/2
else if (j == col / 2)
cout << " *" ;
else
{
// if i=0 then first row will have '*'
if (i == 0)
cout << " *" ;
}
}
else if (i == row / 2)
cout << "* " ;
else {
// middle column and last column will have '*'
// after i > row/2
if (j == col / 2 || j == col - 1)
cout << "* " ;
// last row
else if (i == row - 1) {
// last row will be have '*' if
// j <= col/2 or if it is last column
if (j <= col / 2 || j == col - 1)
cout << "* " ;
else
cout << " " << " " ;
}
else
cout << " " << " " ;
}
}
cout << "\n" ;
} } // driver code int main()
{ // odd number of row and column
// to get perfect swastika
int row = 7, col = 7;
// function calling
swastika(row, col);
return 0;
} |
Java
// Java implementation to // print swastika pattern class GFG
{ // function to print swastika
static void swastika( int row, int col)
{
for ( int i = 0 ; i < row; i++) {
for ( int j = 0 ; j < col; j++)
{
// checking if i < row/2
if (i < row / 2 )
{
// checking if j<col/2
if (j < col / 2 )
{
// print '*' if j=0
if (j == 0 )
System.out.print( "*" );
// else print space
else
System.out.print( " " + " " );
}
// check if j=col/2
else if (j == col / 2 )
System.out.print( " *" );
else
{
// if i=0 then first row
// will have '*'
if (i == 0 )
System.out.print( " *" );
}
}
else if (i == row / 2 )
System.out.print( "* " );
else
{
// middle column and last column
// will have '*' after i > row/2
if (j == col / 2 || j == col - 1 )
System.out.print( "* " );
// last row
else if (i == row - 1 )
{
// last row will be have '*' if
// j <= col/2 or if it is last column
if (j <= col / 2 || j == col - 1 )
System.out.print( "* " );
else
System.out.print( " " + " " );
}
else
System.out.print( " " + " " );
}
}
System.out.print( "\n" );
}
}
// Driver code
public static void main (String[] args)
{
// odd number of row and column
// to get perfect swastika
int row = 7 , col = 7 ;
// function calling
swastika(row, col);
}
} // This code is contributed by Anant Agarwal. |
Python3
# Python3 implementation to print swastika pattern # Function to print swastika def swastika(row,col):
for i in range (row):
for j in range (col):
# checking if i < row/2
if (i < row / / 2 ):
# checking if j<col/2
if (j < col / / 2 ):
# print '*' if j=0
if (j = = 0 ):
print ( "*" , end = "")
# else print space
else :
print ( " " , end = " " )
# check if j=col/2
elif (j = = col / / 2 ):
print ( " *" , end = "")
else :
# if i=0 then first row will have '*'
if (i = = 0 ):
print ( " *" , end = "")
elif (i = = row / / 2 ):
print ( "* " , end = "")
else :
# middle column and last column will
# have '*' after i > row/2
if (j = = col / / 2 or j = = col - 1 ):
print ( "* " , end = "")
# last row
elif (i = = row - 1 ):
# last row will be have '*' if
# j <= col/2 or if it is last column
if (j < = col / / 2 or j = = col - 1 ):
print ( "* " , end = "")
else :
print ( " " , end = " " )
else :
print ( " " , end = " " )
print ()
# Driver code # odd number of row and column # to get perfect swastika row = 7 ; col = 7
# Function calling swastika(row, col) # This code is contributed by Azkia Anam. |
C#
// C# implementation to print swastika pattern using System;
class GFG {
// function to print swastika
static void swastika( int row, int col)
{
for ( int i = 0; i < row; i++) {
for ( int j = 0; j < col; j++)
{
// checking if i < row/2
if (i < row / 2)
{
// checking if j < col/2
if (j < col / 2)
{
// print '*' if j = 0
if (j == 0)
Console.Write( "*" );
// else print space
else
Console.Write( " " + " " );
}
// check if j = col/2
else if (j == col / 2)
Console.Write( " *" );
else
{
// if i=0 then first row
// will have '*'
if (i == 0)
Console.Write( " *" );
}
}
else if (i == row / 2)
Console.Write( "* " );
else
{
// middle column and last column
// will have '*' after i > row/2
if (j == col / 2 || j == col - 1)
Console.Write( "* " );
// last row
else if (i == row - 1)
{
// last row will be have '*' if
// j <= col/2 or if it is last column
if (j <= col / 2 || j == col - 1)
Console.Write( "* " );
else
Console.Write( " " + " " );
}
else
Console.Write( " " + " " );
}
}
Console.WriteLine();
}
}
// Driver code
public static void Main ()
{
// odd number of row and column
// to get perfect swastika
int row = 7, col = 7;
// function calling
swastika(row, col);
}
} // This code is contributed by vt_m. |
PHP
<?php // PHP implementation to // print swastika pattern // function to print swastika function swastika( $row , $col )
{ for ( $i = 0; $i < $row ; $i ++)
{ for ( $j = 0; $j < $col ; $j ++)
{
// checking if i < row/2
if ( $i < floor ( $row / 2))
{
// checking if j<col/2
if ( $j < floor ( $col / 2))
{
// print '*' if j=0
if ( $j == 0)
echo "*" ;
// else print space
else
echo " " . " " ;
}
// check if j=col/2
else if ( $j == floor ( $col / 2))
echo " *" ;
else
{
// if i=0 then first
// row will have '*'
if ( $i == 0)
echo " *" ;
}
}
else if ( $i == floor ( $row / 2))
echo "* " ;
else
{
// middle column and last
// column will have '*'
// after i > row/2
if ( $j == floor ( $col / 2 )||
$j == $col - 1)
echo "* " ;
// last row
else if ( $i == $row - 1)
{
// last row will be have
// '*' if j <= col/2 or
// if it is last column
if ( $j <= floor ( $col / 2) ||
$j == $col - 1)
echo "* " ;
else
echo " " . " " ;
}
else
echo " " . " " ;
}
}
echo "\n" ;
} } // Driver Code // odd number of row // and column to get // perfect swastika $row = 7;
$col = 7;
// function calling swastika( $row , $col );
// This code is contributed by ajit ?> |
Javascript
<script> // JavaScript implementation to
// print swastika pattern
// function to print swastika
function swastika(row, col)
{
for ( var i = 0; i < row; i++)
{
for ( var j = 0; j < col; j++)
{
// checking if i < row/2
if (i < Math.floor(row / 2))
{
// checking if j<col/2
if (j < Math.floor(col / 2))
{
// print '*' if j=0
if (j == 0) document.write( "*" );
// else print space
else document.write( " " + " " );
}
// check if j=col/2
else if (j == Math.floor(col / 2)) document.write( " *" );
else
{
// if i=0 then first row will have '*'
if (i == 0) document.write( " *" );
}
} else if (i == Math.floor(row / 2)) document.write( "* " );
else
{
// middle column and last column will have '*'
// after i > row/2
if (j == Math.floor(col / 2) || j == col - 1)
document.write( "* " );
// last row
else if (i == row - 1)
{
// last row will be have '*' if
// j <= col/2 or if it is last column
if (j <= Math.floor(col / 2) || j == col - 1)
document.write( "* " );
else document.write( " " + " " );
} else document.write( " " + " " );
}
}
document.write( "<br>" );
}
}
// driver code
// odd number of row and column
// to get perfect swastika
var row = 7,
col = 7;
// function calling
swastika(row, col);
// This code is contributed by rdtank.
</script>
|
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Time Complexity: O(row * col), where row and col represents the given number of rows and columns.
Auxiliary Space: O(1), no extra space is required, so it is a constant.