Thursday, July 4, 2024
HomeLanguagesJavaProgram to print interesting pattern

Program to print interesting pattern

Program to print following pattern: 
 

********1********
*******2*2*******
******3*3*3******
*****4*4*4*4*****
****5*5*5*5*5****
***6*6*6*6*6*6***
**7*7*7*7*7*7*7**

Examples : 
 

Input : 4

Output :
********1********
*******2*2*******
******3*3*3******
*****4*4*4*4*****

Input :5

Output :
********1********
*******2*2*******
******3*3*3******
*****4*4*4*4*****
****5*5*5*5*5****

 

 

C++




// CPP program to print pattern
#include<bits/stdc++.h>
using namespace std;
 
void StarPattern(int height)
{
// This loop prints number of rows
    for (int i=0; i<height; i++ )
    {
        // For every row, first '*' will be
        // printed Height-rowNumber times.
        for (int j = height-1; j>i; j--)
        {
            cout<<"*";
        }
 
        // Print character '*' and Row number
        // alternately boolean variable to
        // decide whether to print char or int
        bool printChar = false;
 
        for (int j = 0; j< ((i*2) +1); j++)
        {
            if ( printChar )
            {
                cout<<"*";
            }
            else
            {
               cout<< (i + 1);
            }
             
            // Each time after printing char
            // or int reverse the boolean variable
            //  to print alternatively
                printChar = !printChar;
            }
             
            // After printing char and int,
            // it will print '*'
            for (int j = height-1; j>i; j--)
            {
                cout<<"*";
            }
 
        cout<<endl;
        }
}
 
// driver code
int main()
{
    int height = 7;
    StarPattern(height);
 
    return 0;
     
}
 
// This code is contributed by Sahil_Bansall


Java




// Java program to print pattern
import java.util.*;
import java.lang.*;
import java.io.*;
 
 
public class Lazyroar
{
 
  public static void StarPattern(int height)
  {
     
    // This loop prints number of rows
    for (int i=0; i<height; i++ )
    {
        // For every row, first '*' will be printed
        // Height-rowNumber times.
        for (int j = height-1; j>i; j--)
        {
            System.out.print("*");
        }
         
        // Print character '*' and Row number alternately
        // boolean variable to decide whether to print char or int
        boolean printChar = false;
         
        for (int j = 0; j< ((i*2) +1); j++)
        {
            if ( printChar )
            {
                System.out.print("*");                
            }
            else
            {
            System.out.print(i + 1);
            }
            // Each time after printing char or int
            // reverse the boolean variable to print alternatively
                printChar = !printChar;
            }
            // After printing char and int, it will print '*'
            for (int j = height-1; j>i; j--)
            {
                System.out.print("*");
            }
             
            System.out.println();
        }
        }
         
    // Driver Code
    public static void main(String args[])
    {
       int height = 7;
       StarPattern(height);
    }
}


Python3




# Python program to print pattern
 
def StarPattern(height):
 
    # This loop prints number of rows
    for i in range(height):
         
        # For every row, first '*' will be
        # printed Height-rowNumber times.
        for j in range(height-1,i,-1):
         
            print("*",end="")
         
        # Print character '*' and Row number
        # alternately boolean variable to
        # decide whether to print char or int
        printChar = False
  
        for j in range(((i*2) +1)):
         
            if ( printChar ):
             
                print("*",end="")
             
            else:
             
                print(i + 1,end="")
             
              
            # Each time after printing char
            # or int reverse the boolean variable
            #  to print alternatively
            printChar = not printChar
             
              
        # After printing char and int,
        # it will print '*'
        for j in range(height-1,i,-1):
         
            print("*",end="")
         
  
        print()
         
# Driver code
 
height = 7
StarPattern(height)
 
# This code is contributed
# by Anant Agarwal.


C#




// C# program to print pattern
using System;
public class Lazyroar {
 
    public static void StarPattern(int height)
    {
 
        // This loop prints number of rows
        for (int i = 0; i < height; i++) {
 
            // For every row, first '*' will be
            // printed Height-rowNumber times.
            for (int j = height - 1; j > i; j--) {
                Console.Write("*");
            }
 
            // Print character '*' and Row number
            // alternately boolean variable to decide
            // whether to print char or int
            bool printChar = false;
 
            for (int j = 0; j < ((i * 2) + 1); j++) {
                if (printChar) {
                    Console.Write("*");
                }
                else {
                    Console.Write(i + 1);
                }
                // Each time after printing char
                // or int reverse the boolean variable
                // to print alternatively
                printChar = !printChar;
            }
             
            // After printing char and int, it will print '*'
            for (int j = height - 1; j > i; j--) {
                Console.Write("*");
            }
 
            Console.WriteLine();
        }
    }
 
    // Driver Code
    public static void Main()
    {
        int height = 7;
        StarPattern(height);
    }
}
// This code is contributed by vt_m.


PHP




<?php
// PHP implementation to
// print pattern
 
function StarPattern($height)
{
    // This loop prints number
    // of rows
    for ($i = 0; $i < $height; $i++ )
    {
        // For every row, first '*'
        // will be printed
        // Height-rowNumber times.
        for ($j = $height - 1; $j > $i;
                                  $j--)
        {
            echo "*";
        }
 
        // Print character '*' and
        // Row number alternately
        // boolean variable to decide
        // whether to print char or int
        $printChar = false;
 
        for ($j = 0; $j< (($i * 2) + 1);
                                   $j++)
        {
            if ( $printChar )
            {
                echo "*";
            }
            else
            {
            echo ($i + 1);
            }
             
            // Each time after printing
            // char or int reverse the
            // boolean variable to print
            // alternatively
                $printChar = !$printChar;
            }
             
            // After printing char and int,
            // it will print '*'
            for ($j = $height-1; $j > $i;
                                    $j--)
            {
                echo "*";
            }
 
        echo "\n";
        }
}
 
// Driver code
$height = 7;
StarPattern($height);
 
// This code is contributed by mits
?>


Javascript




<script>
      // JavaScript program to print pattern
 
      function StarPattern(height)
      {
       
        // This loop prints number of rows
        for (var i = 0; i < height; i++)
        {
         
          // For every row, first '*' will be
          // printed Height-rowNumber times.
          for (var j = height + 1; j > i; j--)
          {
            document.write("*");
          }
 
          // Print character '*' and Row number
          // alternately boolean variable to
          // decide whether to print char or int
          var printChar = false;
 
          for (var j = 0; j < i * 2 + 1; j++)
          {
            if (printChar) {
              document.write("*");
            } else {
              document.write(i + 1);
            }
 
            // Each time after printing char
            // or int reverse the boolean variable
            // to print alternatively
            printChar = !printChar;
          }
 
          // After printing char and int,
          // it will print '*'
          for (var j = height + 1; j > i; j--) {
            document.write("*");
          }
          document.write("<br>");
        }
      }
 
      // driver code
      var height = 7;
      StarPattern(height);
       
      // This code is contributed by rdtank.
    </script>


Output : 
 

********1********
*******2*2*******
******3*3*3******
*****4*4*4*4*****
****5*5*5*5*5****
***6*6*6*6*6*6***
**7*7*7*7*7*7*7**

Time complexity: O(h2) where h is the height.

 Auxiliary Space: O(1)

Method 2(Using conditions):

We can use the positions of the pattern to identify the places to print the number or ‘*’.

For example take height = 5:

   1   2   3   4   5   6   7   8   9 10 11 12 13 14 15 16 17

1  *   *   *    *    *   *   *    *   1    *    *    *   *   *    *   *   *

2  *   *   *    *    *   *   *    2    *    2   *    *   *   *   *   *   *

3  *   *   *    *    *   *   3    *    3    *   3    *   *   *   *   *   *

4  *   *   *    *    *   4   *    4    *    4   *    4   *   *   *   *   *

5  *   *   *    *    5   *   5    *    5    *   5   *   5   *   *   *   *

Now imagine that we are printing a box filled ‘*’ and at specific places we see numbers. Notice their positions and observe that in all lines it starts from i+j == 10 and ends at j-i <= height+4. And it is printing only when i+j is even. There we will print i when it is i+j is even and in the above-specified range. 
 

Java




/*package whatever //do not write package name here */
 
import java.io.*;
 
public class GFGInterestingPattern {
    public static void main(String[] args)
    {
        int height = 7;
        // Input for our interesting patterns height
        printPattern(height);
    }
 
    public static void printPattern(int height)
    {
        // This loop prints the rows
        for (int i = 1; i <= height; i++) {
            // This loop prints the columns
            for (int j = 1; j <= 17; j++) {
                // This condition checks whether to print
                // number or '*'
                if ((i + j) % 2 == 0 && i + j >= 10
                    && j - i <= 8) {
                    System.out.print(i);
                }
                else {
                    System.out.print('*');
                }
            }
            // Goes to next line
            System.out.println();
        }
    }
    // This code is contributed by Satya Anvesh R
}


Python3




def print_pattern(height):
    # This loop prints the rows
    for i in range(1, height+1):
        # This loop prints the columns
        for j in range(1, 18):
            # This condition checks whether to print number or '*'
            if (i+j) % 2 == 0 and i+j >= 10 and j-i <= 8:
                print(i, end="")
            else:
                print("*", end="")
        # Goes to next line
        print()
 
# Main function
 
 
def main():
    height = 7
    # Input for our interesting patterns height
    print_pattern(height)
 
 
# Invoke the main function
main()


Javascript




//JavaScript code
function print_pattern(height) {
    // This loop prints the rows
    for (i = 1; i <= height; i++) { temp="";
        // This loop prints the columns
        for (j = 1; j <= 18; j++) {
            // This condition checks whether to print number or '*'
            if ((i + j) % 2 == 0 && i + j >= 10 && j - i <= 8) {
                temp =temp + i;
            } else {
               temp =temp +"*";
            }
        }
        // Goes to next line
        console.log(temp);
    }
}
 
// Main function
function main() {
    height = 7;
    // Input for our interesting patterns height
    print_pattern(height);
}
 
// Invoke the main function
main();


C++




#include <iostream>
using namespace std;
 
void printPattern(int height)
{
    // This loop prints the rows
    for (int i = 1; i <= height; i++) {
        // This loop prints the columns
        for (int j = 1; j <= 17; j++) {
            // This condition checks whether to print number
            // or '*'
            if ((i + j) % 2 == 0 && i + j >= 10
                && j - i <= 8) {
                cout << i;
            }
            else {
                cout << "*";
            }
        }
        // Goes to next line
        cout << endl;
    }
}
 
int main()
{
    int height = 7;
    // Input for our interesting patterns height
    printPattern(height);
    return 0;
}


C#




using System;
 
class GFGInterestingPattern {
    public static void Main(string[] args)
    {
        int height = 7;
        // Input for our interesting patterns height
        printPattern(height);
    }
 
    public static void printPattern(int height)
    {
        // This loop prints the rows
        for (int i = 1; i <= height; i++) {
            // This loop prints the columns
            for (int j = 1; j <= 17; j++) {
                // This condition checks whether to print
                // number or '*'
                if ((i + j) % 2 == 0 && i + j >= 10
                    && j - i <= 8) {
                    Console.Write(i);
                }
                else {
                    Console.Write('*');
                }
            }
            // Goes to next line
            Console.WriteLine();
        }
    }
}


Output

********1********
*******2*2*******
******3*3*3******
*****4*4*4*4*****
****5*5*5*5*5****
***6*6*6*6*6*6***
**7*7*7*7*7*7*7**

Time complexity: O(h2) where h is the height.

Auxiliary Space: O(1)

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments