Найти в массиве наибольший из элементов, расположенных в заштрихованной части массива
Дан вещественный массив А[N][N]. Требуется составить два варианта программы:
- С использованием индексации.
- Без применения индексов для обращения к элементам динамических массивов.
Есть часть кода, но не получается получить область данных.
#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;
}
