C/C++

Помогите с программным кодом на C++

Задание: Найдите произведения элементов массива четных и нечетных позиций.
ну ок, у нечетных позиций получилось 3424, а у четных 752223
Николай Медведев
Николай Медведев
61 669
Лучший ответ
#include <iostream>
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
using namespace std;
int main() {
srand(unsigned(time(nullptr)));
int box[10];
for (auto i = 0U; i < size(box); ++i) {
box[i] = RAND(2, 10);
cout << box[i] << ' ';
}
puts("");
auto odd = 1;
auto even = 1;
for (auto i = 0U; i < size(box); ++i) i & 1? even *= box[i] : odd *= box[i];
cout << odd << '\n' << even << '\n';
system("pause > nul");
}
Паша Куница
Паша Куница
68 353
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
const int max_size = 20;
int A[max_size];
int p1 = 1, p2 = 1;
int n;
do
{
cout << "Введите число элментов массива (не более "
<< max_size << ")." << endl;
cin >> n;
} while(n <= 0 || n > max_size);

srand(time(NULL));
for(int x = 0; x < n; x++)
{
A[x] = 1 + (rand() % 10);
cout << A[x] << ' ';
if(x % 2 == 0)
{
p2 *= A[x];
}
else
{
p1 *= A[x];
}
}
cout << endl << endl;
cout << "Произведение чётных элементов равно "
<< p1 << '.' << endl;
cout << "Произведение нечётных элементов равно "
<< p2 << '.' << endl;

return 0;
}
Что такое чётные и нечётные позиции? Вот массив: 1 2 3 4 5 6. Чётные номера имеют элементы 2, 4 и 6, их произведение 48, но индексы у них нечётные, поскольку в C/C++ традиционно индексация начинается с нуля. Элементы 1, 3 и 5, произведение которых 15, имеют нечётные номера, а вот индексы у них как раз чётные! Так вот эту главную деталь надо прописывать максимально чётко и совершенно однозначно, чтобы не было никакой путаницы, иначе даже не узнать чей ответ правильный! Другая существенная деталь - откуда берётся этот самый массив? А вдруг он в некоем файле записан, из которого его нужно считывать? Что - разве не может такого быть? А, собственно говоря, почему? ʘ‿ʘ
В общем если под позицией имеется в виду номер элемента массива, то с вещественным динамическим массивом, компоненты которого вводятся с экрана, будет так:
#include <iostream>
using namespace std; int main() { int i, n;
cout << "n » "; cin >> n; double even = 1.,
odd = 1., *array = new double [n]; for (i = 0;
i < n; i++) { cin >> array[i]; if (i & 1) even *=
array[i]; else odd *= array[i]; } cout.precision(17);
cout << even << ' ' << odd << endl;
system("pause > nul"); return 0; }