Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình in hình thoi ngược (Inverse Diamond Pattern) trong C++

In hình thoi ngược (inverse diamond) với chiều cao 2N-1. Hình gồm hai phần: nửa trên (các dải * bị thu hẹp) và nửa dưới (các dải * mở rộng). Mỗi dòng có ba khối: trái, giữa (khoảng trắng), phải.

Ví dụ minh họa (C++)

#include <bits/stdc++.h>
using namespace std;

void printDiamond(int n) {
    cout << endl;
    // Nửa trên
    for (int i = 0; i < n; i++) {
        for (int j = i; j < n; j++) cout << "*";           // Trái
        for (int j = 0; j < 2 * i + 1; j++) cout << " "; // Giữa
        for (int j = i; j < n; j++) cout << "*";           // Phải
        cout << endl;
    }
    // Nửa dưới
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < i + 2; j++) cout << "*";
        for (int j = 0; j < 2 * (n - 1 - i) - 1; j++) cout << " ";
        for (int j = 0; j < i + 2; j++) cout << "*";
        cout << endl;
    }
    cout << endl;
}

int main() {
    int n = 5;
    printDiamond(n);
    return 0;
}

Kết quả

***** *****
****   ****
***     ***
**       **
*         *
**       **
***     ***
****   ****
***** *****