Помогите с решением!
Найти сумму нечетных элементов, стоящих на нечетных местах
(то есть имеющих нечетные номера). Провести тестирование
программы при пользовательском вводе элементов массива и
при генерации элементов массива из диапазона [-4k; 2k], где k –
номер студента в списке группы. С++
C/C++
Найти сумму нечетных элементов, стоящих на нечетных местах (то есть имеющих нечетные номера).
#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;
}
#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;
}
Похожие вопросы
- Программирование на СИ "Написать программу подсчёта суммы нечётных элементов из 20 введенных"
- Найти сумму факториала K=1!+2!...n! нечетных чисел от 1 до n.
- Вычислить произведение нечетных элементов массива В с++
- Вывод нечетных номеров, а затем четных в C, помогите пожалуйста
- Составить программу. В одномерном массиве произвольных чисел вычислить произведения четных и нечетных элементов.
- Работа с матрицами. Нужно найти сумму элементов каждой строки. Помогите пожалуйста ????????
- Найдите сумму номеров минимального и максимального элементов
- Дан массив из N элементов (N < 1000), причем N - четное. Вставить в середину массива сумму всех элементов.
- Вывести сумму тех элементов каждой строки, которые расположены правее максимального и левее минимального.
- Дана матрица nxn, вычислить суммы диагональных элементов( главной и побочной ) отдельно, но в одной функции на языке си.