C/C++

Вычислить произведение нечетных элементов массива В с++

Вычислить произведение нечетных элементов массива Х (30), не меньших заданного числа С
Вводить размерность одномерного массива с клавиатуры, а
элементы одномерного массива сформировать случайным образом.
#include <iostream>
#include <ctime>
using namespace std;

int main() {
int array[30];
int size = 0;
cout << "Введи размерность массива (не более 30): ";
cin >> size;

srand(time(0));
for (int i = 0; i < size; ++i) {
array[i] = rand() % 5 + 1;
}

cout << "Введите число С: ";
int c;
cin >> c;

long long prod = 1;
for (int i = 1; i < size; i += 2) {
if (array[i] >= c) prod *= array[i];
}
cout << "Произведение нечетных элементов массива, не меньших числа С: " << prod << "\n";
return 0;
}
Евгений Статин
Евгений Статин
6 243
Лучший ответ
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;
int main() {
uniform_int_distribution<> uid(1, 9);
mt19937 gen{ random_device()() };
int x[30];
size_t n;
do {
cout << "Size: ";
cin >> n;
} while (!n || n > size(x));
for (auto i = 0U; i < n; ++i) x[i] = uid(gen);
for (auto i = 0U; i < n; ++i) cout << setw(3) << x[i];
puts("");
cout << "Input C: ";
int c;
cin >> c;
auto m = 1.;
for (auto i = 0U; i < n; ++i) if ((x[i] & 1) && x[i] >= c) m *= x[i];
cout << "Result: " << m << '\n';
system("pause > nul");
return 0;
}
#include < iostream >
#include < vector >

using namespace std;

signed main(){
srand(time(NULL));
int n;
cin >> n;
vector a(n);
for(auto &i : a)
i = rand() % int(1e9 - 1) + 1;
int c;
cin >> c;
int ans = 1;
for(auto &i : a)
if(i % 2 == 1 && i >= c)
ans *= i;
cout << ans;
}
Ойрат Альшимбаев Векторы ещё не изучали, могут вопросы возникнуть.

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