Program to print the pattern ‘G’

04 Jun, 2022
In this article, we will learn how to print the pattern G using stars and white-spaces. Given a number n, we will write a program to print the pattern G over n lines or rows.Examples:  
Input : 7
Output :
  ***  
 *     
 *     
 * *** 
 *   * 
 *   * 
  ***  

Input : 9
Output :
  *****  
 *       
 *       
 *       
 *   *** 
 *     * 
 *     * 
 *     * 
  *****  
 
In this program, we have used the simple logic of iteration over lines to create the pattern G. Please look at the image below which represents the pattern G in the form of a 2-d matrix, where mat[i][j] = ‘ij’:  
If we try to analyze this picture with a (row, column) matrix and the circles represent the position of stars in the pattern G, 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 row position with 0 and (n-1) won’t get the stars and all other rows from 1 to (n-1), will get the stars. Similarly, for the second, third and fourth column we want stars at the position row = 0 and row = (n-1). The other steps are self-explanatory and can be understood from the position of rows and columns in the diagram.Below is the implementation of above idea:  
C++
Java
Python
C#
PHP
Javascript
// C++ program to print the pattern G#include <iostream>using namespace std; void pattern(int line){    int i, j;    for(i = 0; i < line; i++)    {        for(j = 0; j < line; j++)        {            if((j == 1 && i != 0 && i != line - 1) ||              ((i == 0 || i == line - 1) && j > 1 &&              j < line - 2) || (i == ((line - 1) / 2) &&              j > 2 && j < line - 1) || (j == line - 2 &&              i != 0 && i >= ((line - 1) / 2) && i != line - 1))                printf("*");            else                printf( " ");         }        printf("\n");    }} // Driver codeint main(){    int line = 7;    pattern(line);    return 0;} // This code is contributed// by  vt_m.
// Java program to print the pattern Gimport java.io.*; class GFG {     static void pattern(int line)    {        int i, j;        for(i = 0; i < line; i++)        {            for(j = 0; j < line; j++)            {                if((j == 1 && i != 0 && i != line - 1) ||                ((i == 0 || i == line - 1) && j > 1 &&                j < line - 2) || (i == ((line - 1) / 2) &&                j > 2 && j < line - 1) || (j == line - 2 &&                i != 0 && i >= ((line - 1) / 2) && i != line - 1))                    System.out.print("*");                else                    System.out.print( " ");                 }            System.out.println();        }    }         // Driver code    public static void main (String[] args)    {        int line = 7;        pattern(line);    }} // This code is contributed by vt_m.
# Python program to print pattern Gdef Pattern(line):    pat=""    for i in range(0,line):           for j in range(0,line):                if ((j == 1 and i != 0 and i != line-1) or ((i == 0 or                i == line-1) and j > 1 and j < line-2) or (i == ((line-1)/2)                and j > line-5 and j < line-1) or (j == line-2 and                i != 0 and i != line-1 and i >=((line-1)/2))):                 pat=pat+"*"              else:                     pat=pat+" "          pat=pat+"\n"      return pat  # Driver Codeline = 7print(Pattern(line))
// C# program to print the pattern Gusing System; class GFG {     static void pattern(int line)    {        int i, j;        for(i = 0; i < line; i++)        {            for(j = 0; j < line; j++)            {                if((j == 1 && i != 0 && i != line - 1) ||                ((i == 0 || i == line - 1) && j > 1 &&                j < line - 2) || (i == ((line - 1) / 2) &&                j > 2 && j < line - 1) || (j == line - 2 &&                i != 0 && i >= ((line - 1) / 2) && i != line - 1))                    Console.Write("*");                else                    Console.Write( " ");                 }            Console.WriteLine();        }    }         // Driver code    public static void Main ()    {        int line = 7;        pattern(line);    }} // This code is contributed by vt_m.
<?php// PHP program to print pattern G function Pattern($line){    for ($i=0; $i<$line; $i++)    {      for ($j=0; $j<=$line; $j++)        {        if (($j == 1 and $i != 0 and $i != $line-1) or (($i == 0 or            $i == $line-1) and $j > 1 and $j < $line-2) or ($i == (($line-1)/2)            and $j > 2 and $j < $line-1) or ($j == $line-2 and            $i != 0 and $i >=(($line-1)/2) and $i != $line-1))                echo "*";               else                echo " ";            }             echo "\n";    }} // Driver Code$line = 7;Pattern($line)?>
<script>      // JavaScript program to print the pattern G       function pattern(line) {        var i, j;        for (i = 0; i < line; i++) {          for (j = 0; j < line; j++) {            if (              (j == 1 && i != 0 && i != line - 1) ||              ((i == 0 || i == line - 1) && j > 1 && j < line - 2) ||              (i == (line - 1) / 2 && j > 2 && j < line - 1) ||              (j == line - 2 && i != 0 && i >= (line - 1) / 2 && i != line - 1)            )              document.write("*");            else document.write("  ");          }          document.write("<br>");        }      }             // Driver code      var line = 7;      pattern(line);             // This code is contributed by rdtank.    </script>
Output:  
  ***  
 *     
 *     
 * *** 
 *   * 
 *   * 
  ***  
Time Complexity: O(n2), where n represents the given input.Auxiliary Space: O(1), no extra space is required, so it is a constant.
rdtank
samim2000
pattern-printing
Python Programs
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python | Convert a list to dictionary
Python | Convert string dictionary to dictionary
Python Program for Fibonacci numbers
Python program to check whether a number is Prime or not
Python program to add two numbers
Python Dictionary
Reverse a string in Java
Arrays in C/C++
Introduction To PYTHON
Interfaces in Java