Odpowiedź :
Odpowiedź:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <numeric>
void fillArray(int tab[], int n) {
srand(time(nullptr));
for (int i = 0; i < n; i++) {
tab[i] = rand() % 61 - 10;
}
}
int countNegatives(int tab[], int n) {
return std::count_if(tab, tab + n, [](const int a) { return a < 0; });
}
long long productOfDivisibleBy3(int tab[], int n){
return std::accumulate(tab, tab + n, 1, [](int a, const int b){
if(b % 3 == 0 && b != 0){
a *= b;
}
return a;
});
}
int main() {
const int arraySize = 50;
int tab[arraySize];
fillArray(tab, arraySize);
std::cout << "Wylosowane liczby\n";
for (int number: tab) {
std::cout << number << std::endl;
}
std::cout << "Ilosc liczb ujemnych: " << countNegatives(tab, arraySize) << std::endl;
std::cout << "Iloczyn liczb podzielnych przez 3: " << productOfDivisibleBy3(tab, arraySize);
return 0;
}
Wyjaśnienie:
Dla tego iloczynu to nie wiem kto wpadł na taki pomysł, ale przy 50 liczbach strasznie duże wyniki wychodzą, ale jest dobrze. Jak powiesz mi o co chodzi w tym ostatnim, to też je zrobię