C/C++

Составить программу. В одномерном массиве произвольных чисел вычислить произведения четных и нечетных элементов.

Помогите пожалуйста с заданием. Тяжело даются массивы
#include <iostream>
using namespace std;

int main() {
int matrix[50];
cout << "Enter a size of the array (no more than 50): ";
int size;
cin >> size;

srand(time(0));
for (int i = 0; i < size; ++i) {
matrix[i] = rand() % 21 - 10;
cout << setw(5) << matrix[i];
}
cout << "\n";

int sum_even = 0, sum_odd = 0;
for (int i = 0; i < size; ++i) {
if (~matrix[i]&1) sum_even += matrix[i];
if (matrix[i]&1) sum_odd += matrix[i];
}

cout << "Sum of even numbers: " << sum_even << "\n";
cout << "Sum of odd numbers: " << sum_odd << "\n";

return 0;
}
AT
Abdumajid Tadjibayev
6 243
Лучший ответ
Помазай Тарас спасибо большое
#include <iomanip>
#include <iostream>
using namespace std;
int main() {
int vector[50];
cout << "Enter a size of the array (no more than 50): ";
int size;
cin >> size;
if (size > 50) exit(0);
srand(unsigned(time(nullptr)));
for (int i = 0; i < size; ++i) {
vector[i] = 1 + rand() % 9;
cout << setw(3) << vector[i];
}
puts("");
double mult_even = 1, mult_odd = 1;
for (int i = 0; i < size; ++i)
vector[i] & 1? mult_odd *= vector[i] : mult_even *= vector[i];
cout << "Multiply of even numbers: " << mult_even << "\n";
cout << "Multiply of odd numbers: " << mult_odd << "\n";
system("pause > nul");
}
AP
Andrey Prokopiev
76 181