📜  打印有趣图案的程序

📅  最后修改于: 2022-05-13 01:55:07.414000             🧑  作者: Mango

打印有趣图案的程序

打印以下图案的程序:

********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**

例子 :

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
using namespace std;
 
void StarPattern(int height)
{
// This loop prints number of rows
    for (int i=0; ii; 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<


Java
// Java program to print pattern
import java.util.*;
import java.lang.*;
import java.io.*;
 
 
public class GeeksforGeeks
{
 
  public static void StarPattern(int height)
  {
     
    // This loop prints number of rows
    for (int i=0; ii; 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 GeeksforGeeks {
 
    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
 $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


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
}


输出 :

********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**

方法二(使用条件):

我们可以使用图案的位置来识别打印数字或“*”的位置。

例如取高度 = 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 * * * *

现在假设我们正在打印一个填充“*”的框,并且在特定位置我们看到了数字。注意它们的位置并观察在所有行中它从 i+j == 10 开始并在 ji <= height+4 结束。并且仅当 i+j 为偶数时才打印。在那里,当 i+j 是偶数并且在上述指定范围内时,我们将打印 i。

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
}
输出
********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**