C/C++

Помогите с программой на c++

В целочисленной матрице A(N, M) подсчитать сумму и произведение всех
элементов, которые являются трехзначными нечетными элементам.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cmath>

using namespace std;

int main()
{
int N,M;
do
{
cout << "Введите количество строк: ";
cin >> N;
} while(N <= 0);
do
{
cout << "Введите количество столбцов: ";
cin >> M;
} while(M <= 0);
int ** A;
A = new int * [N];
for(int x = 0; x < N; x++)
A[x] = new int [M];

srand(time(NULL)); // заполняем матрицу случайными числами
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
A[x][y] = rand() % 2001 - 1000; // будут значения от -1000 до 1000
/*
если нужен ручной ввод данных, то нужно удалить строкчки
#include <ctime>
srand(time(NULL));
а вместо
A[x][y] = rand() % 2001 - 1000;
написать
cin >> A[x][y];
и строку cout << A[x][y] << '\t';
тоже можно удалить
*/
cout << A[x][y] << '\t';
}
cout << endl;
}

long long int P = 1, S = 0; // произведение и сумма
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
if(fabs(A[x][y]) > 99 && fabs(A[x][y]) < 1000)
{
if(A[x][y] % 2)
{
S += A[x][y];
P *= A[x][y];
}
}
}
}

cout << "Сумма равна " << S << '.' << endl;
cout << "Произведение равно " << P << '.' << endl;

if(A == NULL) exit(1);
else
{
for(int x = 0; x < N; x++)
{
if(A[x] == NULL) exit(1);
else
{
delete [] A[x];
A[x] = NULL;
}
}
delete [] A;
A = NULL;
}
return 0;
}
ИЛ
Илья Ласица
60 752
Лучший ответ