Создание ромбовидной фигуры на C++

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) мы научимся писать программу на языке C++, которая выводит на экран ромб, состоящий из звездочек (*). Мы создадим эту программу пошагово.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") subgraph Lab Skills cpp/variables -.-> lab-96205{{"Создание ромбовидной фигуры на C++"}} cpp/for_loop -.-> lab-96205{{"Создание ромбовидной фигуры на C++"}} cpp/output -.-> lab-96205{{"Создание ромбовидной фигуры на C++"}} cpp/user_input -.-> lab-96205{{"Создание ромбовидной фигуры на C++"}} end

Получение ввода от пользователя

Мы создадим новый файл с именем main.cpp в директории ~/project с помощью следующей команды:

touch ~/project/main.cpp

Мы будем получать от пользователя количество строк в качестве входных данных.

int rows;

cout << "Enter Diamond Star Pattern Row = ";
cin >> rows;

Вывод фигуры

Для вывода фигуры мы будем использовать вложенные циклы. Внешний цикл будет отвечать за количество строк, а внутренний цикл будет выводить звездочки и пробелы.

cout << "Diamond Star Pattern\n";

for (int i = 1; i <= rows; i++) {
    for (int j = 1; j <= rows - i; j++) {
        cout << " ";
    }

    for (int k = 1; k <= i * 2 - 1; k++) {
        cout << "*";
    }

    cout << "\n";
}

for (int i = rows - 1; i > 0; i--) {
    for (int j = 1; j <= rows - i; j++) {
        cout << " ";
    }

    for (int k = 1; k <= i * 2 - 1; k++) {
        cout << "*";
    }

    cout << "\n";
}

Мы используем два цикла для рисования ромба. Сначала мы рисуем верхнюю половину ромба.

Внешний цикл (первый цикл for) проходит по каждой строке ромба. Мы используем вложенный цикл внутри внешнего цикла.

Внутренние циклы (два цикла for) выводят пробелы и звездочки для каждой строки ромба.

  • Первый внутренний цикл выводит правильное количество пробелов перед звездочками.
  • Второй внутренний цикл выводит звездочки.

Затем мы рисуем нижнюю половину ромба. Мы используем цикл, аналогичный тому, который использовался для первой половины ромба. Внешний цикл уменьшает значение до нуля (в обратном порядке).

Для компиляции и запуска кода используйте следующую команду в терминале:

g++ main.cpp -o main &&./main

Полный код

Вот полный код программы для вывода фигуры ромба.

#include <iostream>
using namespace std;

int main()
{
    int rows;

    cout << "Enter Diamond Star Pattern Row = ";
    cin >> rows;

    cout << "Diamond Star Pattern\n";

    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= rows - i; j++) {
            cout << " ";
        }

        for (int k = 1; k <= i * 2 - 1; k++) {
            cout << "*";
        }

        cout << "\n";
    }

    for (int i = rows - 1; i > 0; i--) {
        for (int j = 1; j <= rows - i; j++) {
            cout << " ";
        }

        for (int k = 1; k <= i * 2 - 1; k++) {
            cout << "*";
        }

        cout << "\n";
    }

    return 0;
}

Резюме

В этом практическом занятии (лабораторной работе) мы научились писать программу на языке C++, которая выводит на экран ромб, состоящий из звездочек (*). Мы использовали вложенные циклы для вывода фигуры. Мы начали с простого ввода и пошагово создали программу на C++, которая может быть использована для вывода ромба из звездочек.