Program to print the pattern 'G' (original) (raw)

Last Updated : 20 Feb, 2023

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':

G

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++ `

// C++ program to print the pattern G #include 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 code int main() { int line = 7; pattern(line); return 0; }

// This code is contributed // by vt_m.

Java

// Java program to print the pattern G import 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

Python program to print pattern G

def 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 Code

line = 7 print(Pattern(line))

C#

// C# program to print the pattern G using 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

i<i<i<line; $i++) { for ($j=0; j<=j<=j<=line; $j++) { if (($j == 1 and i!=0andi != 0 and i!=0andi != line−1)or((line-1) or ((line1)or((i == 0 or i==i == i==line-1) and j>1andj > 1 and j>1andj < line−2)or(line-2) or (line2)or(i == (($line-1)/2) and j>2andj > 2 and j>2andj < line−1)or(line-1) or (line1)or(j == $line-2 and i!=0andi != 0 and i!=0andi >=(($line-1)/2) and i!=i != i!=line-1)) echo "*"; else echo " "; } echo "\n"; } } // Driver Code $line = 7; Pattern($line) ?>

JavaScript

`

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.