Program to print the pattern ‘D’

In this article, we will learn how to print the pattern D using stars and white-spaces. Given a number n, we will write a program to print the pattern D over n lines or rows.

Examples :

Input : n = 9
Output : 
 ******  
 *     * 
 *     * 
 *     * 
 *     * 
 *     * 
 *     * 
 *     * 
 ******  

Input : n = 12
Output :
 *********  
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *        * 
 *********  


If we try to analyze this picture with a (row, column) matrix and the green circles represent the position of stars in the pattern D, we will learn the steps. Here we are performing the operations column-wise. So, for the first line of stars, we set the first if condition, where the column position with 1 gets the stars. Then all the columns greater than 1 and less than (n-2) and row position equal to 1 and n-1 get the stars. Finally, all the columns with value n-2 and row not equal to 0 or 6 get the stars, thus forming the pattern “D”. The other steps are self-explanatory and can be understood from the position of rows and columns in the diagram.

Note : Choose a minimum value of 4 for “n” to get a visible demonstration of “D” pattern.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to print the pattern "D"
#include <bits/stdc++.h>
using namespace std;
  
// Function to generate the pattern D
void D_Pattern(int n){
      
    // loop for rows
    for (int i = 0; i < n; i++){
          
        // loop for columns
        for (int j = 0; j <= n; j++){
              
            // Logic to generate stars for *
            if (j == 1 || ((i == 0 || i == n-1) &&
               (j > 1 && j < n-2)) || (j == n-2 &&
                i != 0 && i != n-1))
                cout<< "*"
                  
            // For the spaces
            else
                cout<< " "
        }
          
    // For changing line
    cout<< endl;
    }
}
  
// Driver Code
int main()
{
  int n = 9;
    
  // Function calling
  D_Pattern(n);
  return 0;
}
  
// This article is contributed by mits 

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to print the pattern "D"
import java.util.*;
  
class GFG {
  
    // Function to generate the pattern D
    static void D_Pattern(int n){
          
        // loop for rows
        for (int i = 0; i < n; i++){
              
            // loop for columns
            for (int j = 0; j <= n; j++){
                  
                // Logic to generate stars
                // for *
                if (j == 1 || ((i == 0 ||
                             i == n-1) &&
                   (j > 1 && j < n-2)) ||
                   (j == n-2 && i != 0 && 
                               i != n-1))
                    System.out.print("*"); 
                      
                // For the spaces
                else
                    System.out.print(" "); 
            }
              
        // For changing line
        System.out.println();
        }
    }
      
    // Driver Code
    public static void main(String[] args)
    {
        int n = 9;
  
        // Function calling
        D_Pattern(n);
    }
}
  
// This code is contributed by ChitraNayal.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to print the pattern "D"
# Function to generate the pattern D
def D_Pattern(string, n):
      
    # loop for rows
    for i in range(0, n):    
          
        # loop for columns
        for j in range(0, n):
              
            # Logic to generate stars for *
            if (j == 1 or ((i == 0 or i == n-1) and 
               (j > 1 and j < n-2)) or (j == n-2 and 
                i != 0 and i != n-1)):  
                string = string + "*"    
              
            # For the spaces
            else:      
                string = string + " " 
                  
        # For changing line
        string = string + "\n"    
    return(string);
  
# Driver Code
string = "";
n = 9
print(D_Pattern(string, n));

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to print
// the pattern "D"
using System;
  
class GFG
{
    // Function to generate 
    // the pattern D
    static void D_Pattern(int n)
    {
          
        // loop for rows
        for (int i = 0; i < n; i++)
        {
              
            // loop for columns
            for (int j = 0; j <= n; j++)
            {
                  
                // Logic to generate 
                // stars for *
                if (j == 1 || ((i == 0 ||
                           i == n - 1) &&
                 (j > 1 && j < n - 2)) ||
                 (j == n - 2 && i != 0 && 
                          i != n - 1))
                    Console.Write("*"); 
                      
                // For the spaces
                else
                    Console.Write(" "); 
            }
              
        // For changing line
        Console.WriteLine();
        }
    }
      
    // Driver Code
    static public void Main ()
    {
        int n = 9;
          
        // Function calling
        D_Pattern(n);
    }
}
  
// This code is contributed by ajit

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// PHP program to print the pattern "D"
// Function to generate the pattern D
function D_Pattern($n){
      
    # loop for rows
    for ($i = 0; $i < $n; $i++){
          
        # loop for columns
        for ($j = 0; $j <= $n; $j++){
              
            # Logic to generate stars for *
            if ($j == 1 or (($i == 0 or $i == $n-1) and 
               ($j > 1 and $j < $n-2)) or ($j == $n-2 and 
                $i != 0 and $i != $n-1))
                echo "*"
                  
            # For the spaces
            else  
                echo " ";     
        }
          
    # For changing line
    echo "\n";
    }
}
  
// Driver Code
$n = 9;
D_Pattern($n)
?>

chevron_right



Output :

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


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Mithun Kumar, Ita_c, jit_t