Criando o Padrão Diamante em C++

C++Beginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como escrever um programa C++ para imprimir um padrão de diamante usando asteriscos (*). Criaremos este programa passo a passo.

Recebendo a entrada do usuário

Criaremos um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:

touch ~/project/main.cpp

Receberemos o número de linhas como entrada do usuário.

int rows;

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

Exibindo o padrão

Para exibir o padrão, usaremos loops aninhados. O loop externo será responsável pelo número de linhas e o loop interno imprimirá os símbolos de asterisco e espaços.

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";
}

Usamos dois loops para desenhar o diamante. Começamos desenhando a metade superior do diamante.

O loop externo (o primeiro loop for) itera por cada linha do diamante. Usamos um loop aninhado dentro do loop externo.

Os loops internos (os dois loops for) imprimem os espaços e asteriscos para cada linha do diamante.

  • O primeiro loop interno imprime o número correto de espaços antes dos asteriscos.
  • O segundo loop interno imprime os asteriscos.

Em seguida, desenhamos a metade inferior do diamante. Começamos usando um loop semelhante ao usado na primeira metade do diamante. O loop externo conta regressivamente até zero (em ordem inversa).

Para compilar e executar o código, use o seguinte comando no terminal:

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

Código completo

Aqui está o código completo para o programa do padrão Diamante.

#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;
}

Resumo

Neste laboratório, aprendemos como escrever um programa C++ para imprimir um padrão de diamante usando asteriscos (*). Usamos loops aninhados para exibir o padrão. Começamos com uma entrada simples e, passo a passo, criamos um programa C++ que pode ser usado para imprimir um diamante usando asteriscos.