C/C++

Найти сумму нечетных элементов, стоящих на нечетных местах (то есть имеющих нечетные номера).

Помогите с решением!
Найти сумму нечетных элементов, стоящих на нечетных местах
(то есть имеющих нечетные номера). Провести тестирование
программы при пользовательском вводе элементов массива и
при генерации элементов массива из диапазона [-4k; 2k], где k –
номер студента в списке группы. С++
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
char vvod;
unsigned int N,M;
do
{
cout << "Введите количество строчек массива: ";
cin >> N;
} while(!N);
do
{
cout << "Введите количество столбцов массива: ";
cin >> M;
} while(!M);
int sum = 0;
int * * A;
A = new int * [N];
for(int x = 0; x < N; x++) A[x] = new int[M];
cout << "Чтобы ввести даныне вручную, введите \'r\' и \"Enter\"." << endl;
cout << "Если хотите автоматический ввод, введите \'a\' и \"Enter\"." << endl;
cin >> vvod;
switch(vvod)
{
case 'r':
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
cout << "A["<<x<<"]["<<y<<"]= ";
cin >> A[x][y];
}
}
break;
case 'a':
unsigned int k;
cout << "Введите номер студента: ";
cin >> k;
srand(time(nullptr));
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
A[x][y] = rand() % (6*k + 1) - 4*k;
cout << A[x][y] << '\t';
}
cout << endl;
}
cout << endl;
break;
default:
return 1;
break;
}

for(int x = 0; x < N; x++)
for(int y = 0; y < M; y++)
{
if(x % 2 == 0 && y % 2 == 0) // индексы начинаются с нуля
{ // а отсчёт мест ведётся с единицы
if(A[x][y] % 2 == 1 || A[x][y] % 2 == -1)
{
sum += A[x][y];
}
}
}

cout << "Сумма равна " << sum << '.' << endl;

if(A == (int**) nullptr) return 1;
for(int x = 0; x < N; x++)
if(A[x] == (int*) nullptr) return 1;
else
{
delete [] A[x];
A[x] = (int*) nullptr;
}
delete [] A;
A = (int**) nullptr;
return 0;
}
Фе Й
Фе Й
50 440
Лучший ответ

Похожие вопросы