Найти в массиве наибольший из элементов, расположенных в заштрихованной части массива

Дан вещественный массив А[N][N]. Требуется составить два варианта программы:

  1. С использованием индексации.
  2. Без применения индексов для обращения к элементам динамических массивов.

Есть часть кода, но не получается получить область данных.

Нужная область определения заштрихована

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


using namespace std;

int main()

{
    setlocale(0, "");

    int N = 0;
    int i = 0;
    int j = 0;
    int c = 0;
    int c1 = c;



    cout << "\nВведите размер квадратной матрицы: ";
    cin >> N;

    int **A = new int* [N];

    for (i = 0; i < N; i++)

    {

        A[i] = new int[N];

    }


    srand(time(NULL));

    for (i = 0; i < N; i++)

    {

        for (j = 0; j < N; j++)

        {
            A[i][j] = int(rand() % 20 + 5) / int(rand() % 20 + 5);
            cout << setw(2) << A[i][j] << " ";
        }

        cout << endl;

    }




    int* A1 = new int[N];

    cout << "\nЭлементы заштрихованной области: " << endl;


    for ( i = 0; i < N; i++)
    {
        for ( j = 0; j < N + i; j++)
        {
            A1[c] = A[i][j];
            cout << A1[c] << "  ";
            c++;
        }
    }



    cout << "\nКоличество элементов заштрихованной области: " << c;

    int max = A1[0];

    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {

            if (A[i][j] > max)
            {
                max = A[i][j];

            }
        }
    }

    for (i = 0; i < N; i++)
    {
        delete[]A[i];

        delete[]A1;

        cout << endl;
    }

    cout << "\nМаксимальный элемент заштрихованной области :" << max;

    system("pause > void");

    return 0;

}


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