Фигура из символов

Недавно начал изучать С++, и мой код хромает. Нужно вывести следующее:

введите сюда описание изображения

Каким образом можно укоротить мой код(уверен, что можно)?

#include <iostream>
#include <string>

using namespace std;

int main() {
    setlocale(LC_ALL, "ru");

    string simvol = "*";
    
    int control = 7;

    for (int j = 0; j < control; j++) {
        cout << simvol << " ";
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        if ((j == 0) || (j == control - 1)) {
            cout << "  ";
        }
        else {
            cout << simvol << " ";
        }   
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        if ((j == 0) || (j == 1) || (j == control - 1) || (j == control - 2)) {
            cout << "  ";
        }
        else {
            cout << simvol << " ";
        }
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        if ((j == 0) || (j == 1) || (j == 2) || (j == control - 1) || (j == control - 2) || (j == control - 3)) {
            cout << "  ";
        }
        else {
            cout << simvol << " ";
        }
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        if ((j == 0) || (j == 1) || (j == control - 1) || (j == control - 2)) {
            cout << "  ";
        }
        else {
            cout << simvol << " ";
        }
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        if ((j == 0) || (j == control - 1)) {
            cout << "  ";
        }
        else {
            cout << simvol << " ";
        }
    }
    cout << endl;
    for (int j = 0; j < control; j++) {
        cout << simvol << " ";
    }
}

Ответы (1 шт):

Автор решения: Harry

Так годится?

int main()
{
    int N = 7;
    for(int i = 0; i < N; ++i)
    {
        for(int j = 0; j < N; ++j)
            cout << (((j >= i && j < N-i) || (j <= i && j >= N-i-1)) ? "* " : "  ");
        cout << "\n";
    }
}

См. https://ideone.com/qzhiIx

P.S. Ну, или если ровно для 7 —

int main()
{
    cout << "* * * * * * *\n  * * * * *\n    * * *\n"
        "      *\n    * * *\n  * * * * *\n* * * * * * *\n";
}

:)

→ Ссылка