📜  用菱形图案打印数字的程序

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

用菱形图案打印数字的程序

根据给定的示例编写一个程序,其中每一列代表相同的数字:
例子 :

Input : 5
Output :
  1
 212
32123
 212
  1

Input : 7
Output :
   1
  212
 32123
4321234
 32123
  212
   1

C++
// C++ program to print diamond pattern
#include
using namespace std;
 
void display(int n)
{
    // sp stands for space
    // st stands for number
    int sp = n / 2, st = 1;
 
    // Outer for loop for number of lines
    for (int i = 1; i <= n; i++)
    {
 
        // Inner for loop for printing space
        for (int j = 1; j <= sp; j++)
            cout << " ";
 
        // Inner for loop for printing number
        int count = st / 2 + 1;
        for (int k = 1; k <= st; k++)
        {
            cout << count;
            if (k <= st / 2)
                count--;
            else
                count++;
        }
 
        // To goto next line
        cout << endl;
        if (i <= n / 2)
        {
 
            // sp decreased by 1
            // st increased by 2
            sp = sp - 1;
            st = st + 2;
        }
 
        else
        {
 
            // sp increased by 1
            // st decreased by 2
            sp = sp + 1;
            st = st - 2;
        }
    }
}
 
// Driver code
int main()
{
    int n = 7;
    display(n);
}
 
// This code is contributed by Smitha


Java
// Java program to print diamond pattern
import java.util.Scanner;
 
class Pattern {
    void display(int n)
    {
        // sp stands for space
        // st stands for number
        int sp = n / 2, st = 1;
 
        // Outer for loop for number of lines
        for (int i = 1; i <= n; i++) {
 
            // Inner for loop for printing space
            for (int j = 1; j <= sp; j++)
                System.out.print(" ");
 
            // Inner for loop for printing number
            int count = st / 2 + 1;
            for (int k = 1; k <= st; k++) {
                System.out.print(count);
                if (k <= st / 2)
                    count--;
                else
                    count++;
            }
 
            // To goto next line
            System.out.println();
            if (i <= n / 2) {
 
                // sp decreased by 1
                // st increased by 2
                sp = sp - 1;
                st = st + 2;
            }
 
            else {
 
                // sp increased by 1
                // st decreased by 2
                sp = sp + 1;
                st = st - 2;
            }
        }
    }
 
    // Driver code
    public static void main(String[] args)
    {
        Pattern p = new Pattern();
        int n = 7;
        p.display(n);
    }
}


Python3
# Python3 program to print diamond pattern
def display(n):
     
    # sp stands for space
    # st stands for number
    sp = n // 2
    st = 1
     
    # Outer for loop for number of lines
    for i in range(1, n + 1):
         
        # Inner for loop for printing space
        for j in range(1, sp + 1):
            print (" ", end = ' ')
 
        # Inner for loop for printing number        
        count = st // 2 + 1
         
        for k in range(1, st + 1):
            print (count, end = ' ')
            if (k <= (st // 2)):
                count -= 1
            else:
                count += 1
                 
        # To go to next line    
        print()
         
        if (i <= n // 2):
             
            # sp decreased by 1
            # st decreased by 2
            sp -= 1
            st += 2
        else:
             
            # sp increased by 1
            # st decreased by 2
            sp += 1
            st -= 2   
             
# Driver code        
n = 7
display(n)
 
# This code is contributed by DrRoot_


C#
// C# program to print diamond pattern
using System;
 
class Pattern {
    void display(int n)
    {
        // sp stands for space
        // st stands for number
        int sp = n / 2, st = 1;
 
        // Outer for loop for number of lines
        for (int i = 1; i <= n; i++) {
 
            // Inner for loop for printing space
            for (int j = 1; j <= sp; j++)
                Console.Write(" ");
 
            // Inner for loop for printing number
            int count = st / 2 + 1;
            for (int k = 1; k <= st; k++) {
                Console.Write(count);
                if (k <= st / 2)
                    count--;
                else
                    count++;
            }
 
            // To goto next line
            Console.WriteLine();
            if (i <= n / 2) {
 
                // sp decreased by 1
                // st increased by 2
                sp = sp - 1;
                st = st + 2;
            }
 
            else {
 
                // sp increased by 1
                // st decreased by 2
                sp = sp + 1;
                st = st - 2;
            }
        }
    }
 
    // Driver code
    public static void Main()
    {
        Pattern p = new Pattern();
        int n = 7;
        p.display(n);
    }
}
//This code is contributed by vt_m


PHP


Javascript


输出 :

1
  212
 32123
4321234
 32123
  212
   1