Вложенные циклы в С++

Мне нужно вывести фигуры на экран с помощью циклов. Мне нужен код для фигур Д и Е, думаю если я узнаю как их сделать то другие не будут проблемными. Я уже сделал фигуры а, б, и, к но дальше уже голова не варит. `

for (int i = 0; i < 10; i++) // форма И
    {
        for (int j = 10; j > i; j--)
        {
            cout << "*";
        }
        cout << endl;
    }
    cout << "\n\n";

    for (int i = 0; i <= 10; i++) //Форма Б
    {
        for (int j = 0; j < i; j++)
        {
            cout << "*";
        }
        cout << endl;
    }
    cout << "\n\n";

    for (int i = 0; i < 10; i++) //форма К
    {
        for (int j = 10; j > i + 1; j--)
        {
            cout << " ";
        }
        for (int j = 0; j <= i; ++j)
        {
            cout << "*";
        }
        cout << endl;
    }
    cout << "\n\n";

    for (int i = 0; i < 10; i++) //Форма А
    {
        for (int j = 10; j > i; j--)
        {
            cout << "*";
        }
        cout << endl;

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

На фото фигуры которые мне нужно вывести


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

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

Вот для Д)

for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        cout << (
                 (j >= i && j < 10 - i) ||
                 (j <= i && j >= 10 - i - 1)
                 ? "*" : " ");
        }

    cout << endl;
    }

Вот - для Е)

for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        cout << (
                 (j > i && j < 10 - i-1) ||
                 (j < i && j >= 10 - i)
                 ? " " : "*");
        }

    cout << endl;
    }
→ Ссылка