打印反菱形图案的程序

给定整数n,任务是打印2n-1行的逆菱形图案。 例子:

null
Input: n = 3Output:*** *****   ***     ***   ***** ***Input: n = 7Output:******* *************   ***********     *********       *******         *****           ***             ***           *****         *******       *********     ***********   ************* *******

方法:

  1. 全反菱形为2n-1行,输入为n。
  2. 程序分为两部分打印此图案:
    • 第一部分是n行菱形的上半部分。
    • 这一部分包括三部分——左三角形*、中三角形和右三角形*。
    • 第二部分是n-1排钻石的下半部分。
    • 这一部分还包括三部分——左三角形*、中三角形和右三角形*。
  3. 打印每个零件,获得所需的反菱形图案。

以下是上述方法的实施情况:

C++

// C++ Code to print
// the inverse diamond shape
#include<bits/stdc++.h>
using namespace std;
// Function to Print Inverse Diamond pattern
// with 2n-1 rows
void printDiamond( int n)
{
cout<<endl;
int i, j = 0;
// for top half
for (i = 0; i < n; i++) {
// for left *
for (j = i; j < n; j++)
cout<< "*" ;
// for middle " "
for (j = 0; j < 2 * i + 1; j++)
cout<< " " ;
// for right *
for (j = i; j < n; j++)
cout<< "*" ;
cout<<endl;
}
// for below half
for (i = 0; i < n - 1; i++) {
// for left *
for (j = 0; j < i + 2; j++)
cout<< "*" ;
// for middle " "
for (j = 0; j < 2 * (n - 1 - i) - 1; j++)
cout<< " " ;
// for right *
for (j = 0; j < i + 2; j++)
cout<< "*" ;
cout<<endl;
}
cout<<endl;
}
// Driver Code
int main()
{
// Define n
int n = 3;
cout<< "Inverse Diamond Pattern for n = " <<n;
printDiamond(n);
n = 7;
cout<< "Inverse Diamond Pattern for n = " <<n;
printDiamond(n);
}


JAVA

// Java Code to print
// the inverse diamond shape
import java.util.*;
class GFG {
// Function to Print Inverse Diamond pattern
// with 2n-1 rows
static void printDiamond( int n)
{
System.out.println();
int i, j = 0 ;
// for top half
for (i = 0 ; i < n; i++) {
// for left *
for (j = i; j < n; j++)
System.out.print( "*" );
// for middle " "
for (j = 0 ; j < 2 * i + 1 ; j++)
System.out.print( " " );
// for right *
for (j = i; j < n; j++)
System.out.print( "*" );
System.out.println();
}
// for below half
for (i = 0 ; i < n - 1 ; i++) {
// for left *
for (j = 0 ; j < i + 2 ; j++)
System.out.print( "*" );
// for middle " "
for (j = 0 ; j < 2 * (n - 1 - i) - 1 ; j++)
System.out.print( " " );
// for right *
for (j = 0 ; j < i + 2 ; j++)
System.out.print( "*" );
System.out.println();
}
System.out.println();
}
// Driver Code
public static void main(String[] args)
{
// Define n
int n = 3 ;
System.out.println( "Inverse Diamond Pattern for n = " + n);
printDiamond(n);
n = 7 ;
System.out.println( "Inverse Diamond Pattern for n = " + n);
printDiamond(n);
}
}


Python3

#Python3 program to print
# the inverse diamond shape
# Function to Print Inverse
# Diamond pattern
# with 2n-1 rows
def printDiamond(n) :
print ("")
j = 0
# for top half
for i in range ( 0 ,n):
# for left *
for j in range (i,n):
print ( "*" ,end = "")
# for middle " "
for j in range ( 0 , 2 * i + 1 ):
print ( " " ,end = "")
# for right *
for j in range (i,n):
print ( "*" ,end = "")
print ("")
# for below half
for i in range ( 0 ,n - 1 ):
# for left *
for j in range ( 0 , i + 2 ):
print ( "*" ,end = "")
# for middle " "
for j in range ( 0 , 2 * (n - 1 - i) - 1 ):
print ( " " ,end = "")
# for right *
for j in range ( 0 , i + 2 ):
print ( "*" ,end = "")
print ("")
print ("")
# Driver Code
if __name__ = = '__main__' :
# Define n
n = 3
print ( "Inverse Diamond Pattern for n = " ,n)
printDiamond(n)
n = 7
print ( "Inverse Diamond Pattern for n = " ,n )
printDiamond(n)
# this code is contributed by Smitha Dinesh Semwal


C#

// C# Code to print
// the inverse diamond shape
using System;
class GFG
{
// Function to Print Inverse
// Diamond pattern with 2n-1 rows
static void printDiamond( int n)
{
Console.WriteLine();
int i, j = 0;
// for top half
for (i = 0; i < n; i++)
{
// for left *
for (j = i; j < n; j++)
Console.Write( "*" );
// for middle " "
for (j = 0; j < 2 * i + 1; j++)
Console.Write( " " );
// for right *
for (j = i; j < n; j++)
Console.Write( "*" );
Console.WriteLine();
}
// for below half
for (i = 0; i < n - 1; i++)
{
// for left *
for (j = 0; j < i + 2; j++)
Console.Write( "*" );
// for middle " "
for (j = 0; j < 2 * (n - 1 - i) - 1; j++)
Console.Write( " " );
// for right *
for (j = 0; j < i + 2; j++)
Console.Write( "*" );
Console.WriteLine();
}
Console.WriteLine();
}
// Driver Code
public static void Main()
{
// Define n
int n = 3;
Console.WriteLine( "Inverse Diamond " +
"Pattern for n = " + n);
printDiamond(n);
n = 7;
Console.WriteLine( "Inverse Diamond " +
"Pattern for n = " + n);
printDiamond(n);
}
}
// This code is contributed
// by inder_verma.


PHP

<?php
// PHP Code to print
// the inverse diamond shape
// Function to Print Inverse
// Diamond pattern with 2n-1 rows
function printDiamond( $n )
{
echo "" ;
$i ; $j = 0;
// for top half
for ( $i = 0; $i < $n ; $i ++)
{
// for left *
for ( $j = $i ; $j < $n ; $j ++)
echo ( "*" );
// for middle " "
for ( $j = 0;
$j < 2 * $i + 1; $j ++)
echo ( " " );
// for right *
for ( $j = $i ; $j < $n ; $j ++)
echo ( "*" );
echo ( "" );
}
// for below half
for ( $i = 0; $i < $n - 1; $i ++)
{
// for left *
for ( $j = 0; $j < $i + 2; $j ++)
echo ( "*" );
// for middle " "
for ( $j = 0;
$j < 2 * ( $n - 1 - $i ) - 1; $j ++)
echo ( " " );
// for right *
for ( $j = 0; $j < $i + 2; $j ++)
echo ( "*" );
echo ( "" );
}
echo ( "" );
}
// Driver Code
// Define n
$n = 3;
echo ( "Inverse Diamond Pattern for n = " );
echo ( $n );
printDiamond( $n );
$n = 7;
echo ( "Inverse Diamond Pattern for n = " );
echo ( $n );
printDiamond( $n );
// This code is contributed
// by inder_verma.
?>


Javascript

<script>
// JavaScript Code to print
// the inverse diamond shape
// Function to Print Inverse Diamond pattern
// with 2n-1 rows
function printDiamond(n) {
document.write( "<br><br>" );
var i,
j = 0;
// for top half
for (i = 0; i < n; i++) {
// for left *
for (j = i; j < n; j++)
document.write( "*" );
// for middle " "
for (j = 0; j < 2 * i + 1; j++)
document.write( "  " );
// for right *
for (j = i; j < n; j++)
document.write( "*" );
document.write( "<br>" );
}
// for below half
for (i = 0; i < n - 1; i++) {
// for left *
for (j = 0; j < i + 2; j++)
document.write( "*" );
// for middle " "
for (j = 0; j < 2 * (n - 1 - i) - 1; j++)
document.write( "  " );
// for right *
for (j = 0; j < i + 2; j++)
document.write( "*" );
document.write( "<br>" );
}
document.write( "<br>" );
}
// Driver Code
// Define n
var n = 3;
document.write( "Inverse Diamond Pattern for n = " + n);
printDiamond(n);
n = 7;
document.write( "Inverse Diamond Pattern for n = " + n);
printDiamond(n);
</script>


输出:

Inverse Diamond Pattern for n = 3*** *****   ***     ***   ***** ***Inverse Diamond Pattern for n = 7******* *************   ***********     *********       *******         *****           ***             ***           *****         *******       *********     ***********   ************* *******

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享