Open In App

Program to print Swastika Pattern

Last Updated : 27 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads