Как сделать сетку в консоле на C++ через for

Задача, чтобы через цикл for в консоль выводилась такая сетка

сетка

До этого мы делали треугольники, квадраты, плюсы и крестики, с этим я справился сам, без проблем. Но вот как сделать сеточку, я не особо понимаю. Я бы не хотел просто увидеть код, а хотел бы увидеть пояснения, что нужно сделать и для чего.

Ниже код который примерно должен быть:

case 3:
    system("cls");
    cout << "[3] Треугольник\n\n";
    cout << "[1 | 2] Режим:  ";
    short mode;
    cin >> mode;
    cout << "[#] Размер: ";
    cin >> size;
    cout << "\n\n";
    for (;size % 2 == 0;)
    {
        nCout("Четное значение!", 12);
        cout << "[-] Размер: ";
        cin >> size;
    }
    for (int i = 0; i <= size / 2; i++)
    {
        for (int j = 0; j < size; j++)
        {
            if (mode == 1)
            {
                if (j == size / 2 - i || j == size / 2 + i || i == size / 2)
                    nCout("^", 3);
                else
                    nCout(".", 7);
            }
            else
            {
                if (j >= size / 2 - i && j <= size / 2 + i || i >= size / 2)
                    nCout("^", 3);
                else
                    nCout(".", 7);
            }
        }
        cout << endl;

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

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

Попробуйте так:

#include <iostream> 

using namespace std;
int main()
{
    setlocale(LC_ALL, "Ru");
    cout << "Введите размерность сетки:";
    int 1MeshSize;
    cin >> 1MeshSize;
    int k = 1;
    for (int j = 0; j < 1MeshSize; j++)
    {
        for (int i = 0; i < 1MeshSize;i++)
        {
            cout << "_";
            cout << "|";
            if (k == MeshSize)
            {
                cout << "_";
            }
            k++;
        }
        cout << endl ;
        k = 1;
    }
    for (int i = 0; i < 1MeshSize; i++)
    {
        cout << " " << "|";
    }
}
→ Ссылка