C/C++

Массив с функцией С++

В массиве целых чисел определить: а) количество четных и нечетных чисел; б) количество элементов вне задаваемого с клавиатуры диапазона значений; в) произведение всех положительных элементов массива. Все 3 должны быть в одной программе и выполнятся вместе. Желательно как можно проще.
Как просили, с функциями.

#include <iostream>
using namespace std;
pair<int, int> odd_even(int* box, int n) {
int odd = 0, even = 0;
for (int i = 0; i < n; ++i) box[i] & 1 ? ++odd : ++even;
return { odd, even };
}
int outside(int* box, int n, pair<int, int>&& range) {
int count = 0;
auto& [a, b] = range;
for (int i = 0; i < n; ++i) if (box[i] < a || box[i] > b) ++count;
return count;
}
double product_of_positive(int* box, int n) {
auto m = 1.;
for (int i = 0; i < n; ++i) if (box[i] > 0) m *= box[i];
return m;
}
int main() {
const int n = 12;
int box[n];
cout << "array >>> ";
for (int i = 0; i < n; ++i) cin >> box[i];
auto [odd, even] = odd_even(box, n);
cout
<< "Odd: " << odd << '\n'
<< "Even: " << even << '\n';
cout << "Range: ";
int a, b;
cin >> a >> b;
auto count = outside(box, n, { a, b });
cout << "Count: " << count << '\n';
auto mt = product_of_positive(box, n);
cout << "Multiply: : " << mt << '\n';
system("pause > nul");
}
Роман Королев
Роман Королев
60 404
Лучший ответ
Свериденко Сергей можете прикрепить свой результат?
#include <iostream>
#include <vector>
using namespace std;

int main() {
cout << "Введите размер массива: ";
int size;
cin >> size;
vector integers(size);
cout << "Теперь вводите " << size << " чисел: ";
for (int& item : integers) cin >> item;

int min, max;
cout << "Введите минимальный диапазон значений: ";
cin >> min;
cout << "Введите максимальный диапазон значений: ";
cin >> max;

int odd = 0, even = 0, extra = 0, prod = 1;
for (const int& item : integers) {
(item % 2 != 0) ? ++odd : ++even;
extra += item < min || item > max;
if (item > 0) prod *= item;
}

cout << "Количество нечетных чисел: " << odd << "\n";
cout << "Количество четных чисел: " << even << "\n";
cout << "Количество элементов вне задаваемого с клавиатуры диапазона значений: " << extra << "\n";
cout << "Произведение всех положительных элементов массива: " << prod << "\n";

return 0;
}
Свериденко Сергей Здравствуйте, можете выложить результат работы своей программы? Только полное окошко, просто у меня она не запускается.