Related Articles

Related Articles

Program to print Swastika Pattern
  • Difficulty Level : Medium
  • Last Updated : 04 Jul, 2018

Given the number of rows and columns, print the corresponding swastika pattern using loops.
Note : The number of rows and columns should be 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 solution

Below is the implementation to print swastika pattern.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right



Output:


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



My Personal Notes arrow_drop_up
Recommended Articles
Page :