Program to print solid and hollow rhombus patterns

For any given number n, print Hollow and solid Squares and Rhombus made with stars(*).
Examples:

Input : n = 4
Output : 
Solid Rhombus:
   ****
  ****
 ****
****

Hollow Rhombus:
   ****
  *  *
 *  *
****

1. Solid Rhombus : Making Solid Rhombus is a bit similar to making solid square rather than the concept that for each ith row we have n-i blank spaces before stars as:
– – – ****
– – ****
– ****
****
2. Hollow Rhombus : Formation of Hollow Rhombus uses the idea behind formation of hollow square and solid rhombus. A hollow square with n-i blank spaces before stars in each ith rows result in formation of hollow rhombus.

C/C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to print 
// hollow and solid rhombus patterns
  
#include <bits/stdc++.h>
using namespace std;
  
  
// Function for Solid Rhombus
void solidRhombus(int rows)
{
    int i, j;
    for (i=1; i<=rows; i++)
    {
        // Print trailing spaces
        for (j=1; j<=rows - i; j++)
            cout << " ";
              
        // Print stars after spaces
        for (j=1; j<=rows; j++)
            cout << "*";
              
        // Move to the next line/row
        cout << "\n";
    }
}
  
// Function for Solid Rhombus
void hollowRhombus(int rows)
{
    int i, j;
    for (i=1; i<=rows; i++)
    {
        // Print trailing spaces
        for (j=1; j<=rows - i; j++)
            cout << " ";
              
        // Print stars after spaces
        // Print stars for each solid rows
        if (i==1 || i==rows)
            for (j=1; j<=rows; j++)
                cout << "*";
                  
        // stars for hollow rows
        else
            for (j=1; j<=rows; j++)
                if (j==1 || j==rows)
                    cout << "*";
                else
                    cout << " ";
        // Move to the next line/row
        cout << "\n";
    }
}
  
// utility program to print all patterns
void printPattern(int rows)
{
    cout << "\nSolid Rhombus:\n";
    solidRhombus(rows);
      
    cout << "\nHollow Rhombus:\n";
    hollowRhombus(rows);
}
  
// driver program
int main()
{
    int rows = 5;
    printPattern (rows);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to print 
// hollow and solid rhombus patterns
import java.io.*;
  
class GFG 
{
    // Function for Solid Rhombus
    static void solidRhombus(int rows)
    {
        int i, j;
        for (i=1; i<=rows; i++)
        {
            // Print trailing spaces
            for (j=1; j<=rows - i; j++)
                System.out.print(" ");
               
            // Print stars after spaces
            for (j=1; j<=rows; j++)
                System.out.print("*");
               
            // Move to the next line/row
            System.out.println();
        }
    }
   
    // Function for Solid Rhombus
    static void hollowRhombus(int rows)
    {
        int i, j;
        for (i=1; i<=rows; i++)
        {
            // Print trailing spaces
            for (j=1; j<=rows - i; j++)
                System.out.print(" ");
               
            // Print stars after spaces
            // Print stars for each solid rows
            if (i==1 || i==rows)
                for (j=1; j<=rows; j++)
                    System.out.print("*");
                   
            // stars for hollow rows
            else
                for (j=1; j<=rows; j++)
                    if (j==1 || j==rows)
                        System.out.print("*");
                    else
                        System.out.print(" ");
            // Move to the next line/row
            System.out.println();
        }
    }
   
    // utility program to print all patterns
    static void printPattern(int rows)
    {
        System.out.println("Solid Rhombus:");
        solidRhombus(rows);
       
        System.out.println("Hollow Rhombus:");
        hollowRhombus(rows);
    }
      
    // driver program
    public static void main (String[] args) 
    {
        int rows = 5;
        printPattern (rows);
    }
}
  
// Contributed by Pramod Kumar

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to print 
# hollow and solid rhombus patterns
  
# Function for Solid Rhombus
  
def solidRhombus(rows):
      
    for i in range (1,rows + 1):
          
        # Print trailing spaces
          
        for j in range (1,rows - i + 1):
            print (end=" ")
              
        # Print stars after spaces
          
        for j in range (1,rows + 1):
            print ("*",end="")
              
        # Move to the next line/row
        print()
  
# Function for Solid Rhombus
  
def hollowRhombus(rows):
      
    for i in range (1, rows + 1):
        # Print trailing spaces
          
        for j in range (1, rows - i + 1):
            print (end=" ")
              
        # Print stars after spaces
        # Print stars for each solid rows
          
        if i == 1 or i == rows:
            for j in range (1, rows + 1):
                print ("*",end="")
                  
        # stars for hollow rows
        else:
            for j in range (1,rows+1):
                if (j == 1 or j == rows):
                    print ("*",end="")
                else:
                    print (end=" ")
        # Move to the next line/row
        print()
  
# utility program to print all patterns
def printPattern(rows):
      
    print ("Solid Rhombus:")
    solidRhombus(rows)
      
    print("\nHollow Rhombus:")
    hollowRhombus(rows)
  
# driver program
  
if __name__ == "__main__":
      
    rows = 5
    printPattern (rows)

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to print 
// hollow and solid rhombus patterns
using System;
  
class GFG 
{
    // Function for Solid Rhombus
    static void solidRhombus(int rows)
    {
        int i, j;
        for (i=1; i<=rows; i++)
        {
            // Print trailing spaces
            for (j=1; j<=rows - i; j++)
                Console.Write(" ");
              
            // Print stars after spaces
            for (j=1; j<=rows; j++)
                Console.Write("*");
              
            // Move to the next line/row
            Console.WriteLine();
        }
    }
  
    // Function for Solid Rhombus
    static void hollowRhombus(int rows)
    {
        int i, j;
        for (i=1; i<=rows; i++)
        {
            // Print trailing spaces
            for (j=1; j<=rows - i; j++)
                Console.Write(" ");
              
            // Print stars after spaces
            // Print stars for each solid rows
            if (i==1 || i==rows)
                for (j=1; j<=rows; j++)
                    Console.Write("*");
                  
            // stars for hollow rows
            else
                for (j=1; j<=rows; j++)
                    if (j==1 || j==rows)
                        Console.Write("*");
                    else
                    Console.Write(" ");
            // Move to the next line/row
            Console.WriteLine();
        }
    }
  
    // utility program to print all patterns
    static void printPattern(int rows)
    {
        Console.WriteLine("\nSolid Rhombus:\n");
        solidRhombus(rows);
      
        Console.WriteLine("\nHollow Rhombus:\n");
        hollowRhombus(rows);
    }
      
    // driver program
    public static void Main ()     {
        int rows = 5;
        printPattern (rows);
    }
}
  
// Contributed by vt_m.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// php program to print hollow` 
// and solid rhombus patterns
  
// Function for Solid Rhombus
function solidRhombus($rows)
{
  
    for ($i = 1; $i <= $rows; $i++)
    {
          
        // Print trailing spaces
        for ($j = 1; $j <= $rows - $i; $j++)
            echo " ";
              
        // Print stars after spaces
        for ($j = 1; $j <= $rows; $j++)
            echo "*";
              
        // Move to the next line/row
        echo "\n";
    }
}
  
// Function for Solid Rhombus
function hollowRhombus($rows)
{
    for ($i = 1; $i <= $rows; $i++)
    {
          
        // Print trailing spaces
        for ($j = 1; $j <= $rows - $i; $j++)
            echo " ";
              
        // Print stars after spaces
        // Print stars for each solid $rows
        if ($i == 1 || $i == $rows)
            for ($j = 1; $j <= $rows; $j++)
                echo "*";
                  
        // stars for hollow $rows
        else
            for ($j = 1; $j <= $rows; $j++)
                if ($j == 1 || $j == $rows)
                    echo "*";
                else
                    echo " ";
        // Move to the next line/row
        echo "\n";
    }
}
  
// utility program to print
// all patterns
function printPattern($rows)
{
    echo "\nSolid Rhombus:\n";
    solidRhombus($rows);
      
    echo "\nHollow Rhombus:\n";
    hollowRhombus($rows);
}
  
    // Driver Code
    $rows = 5;
    printPattern ($rows);
      
// This code is contributed by mits 
?>

chevron_right



Output:



Solid Rhombus:
    *****
   *****
  *****
 *****
*****

Hollow Rhombus:
    *****
   *   *
  *   *
 *   *
*****

This article is contributed by Shivam Pradhan (anuj_charm). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up

Improved By : Mithun Kumar, chitranayal