Массивы на C++ , Динамические массивы

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

#include <cstdlib>
#include <iomanip>
#include <iostream>

using namespace std;

int main()
{
 cout << "N: ";
 int n;
 cin >> n;
 cout <<endl;

    int matrix[n][n];
    int sum = 0;

    int col_start = 0;////
    int col_finish = n - 1;////

    for (int row = 0; row < n; row++)
    {
        for (int col = 0; col < n; col++)
        {
            matrix[row][col] = rand() % 201 - 100;
            cout << setw(4) << matrix[row][col];

            if (col_start <= col_finish)////
            {
                if (col >= col_start && col <= col_finish)////
                {///
                    sum += matrix[row][col];////
                }
            }

 
        }
        col_start++;
        col_finish--;

 cout << endl;
 }

 cout << endl << "SUM: " << sum << endl;

 return 0;
}

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

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

Разверните внешний цикл

for (int row = 0; row < n; row++)

Замените его на

for (int row = n-1; row >= 0; row--)

Только вот вывод матрицы напишите отдельно, а то иначе она будет выводиться кверху ногами :)

Update

#include <cstdlib>
#include <iomanip>
#include <iostream>

using namespace std;

int main()
{
    cout << "N: ";
    int n;
    cin >> n;

    int **m = new int*[n];
    for(int i = 0; i < n; ++i)
        m[i] = new int[n];

    int sum = 0;

    int col_start = 0;////
    int col_finish = n - 1;////

    for (int row = n-1; row >= 0; row--)
    {
        for (int col = 0; col < n; col++)
        {
            m[row][col] = rand() % 201 - 100;
            if (col_start <= col_finish)////
            {
                if (col >= col_start && col <= col_finish)////
                {///
                    sum += m[row][col];////
                }
            }
        }
        col_start++;
        col_finish--;
    }

    for (int row = 0; row < n; row++)
    {
        for (int col = 0; col < n; col++)
            cout << setw(4) << m[row][col];
        cout << endl;
    }

    cout << endl << "SUM: " << sum << endl;

}
→ Ссылка