C++1) Заполните массив случайными числами в диапазоне 20..100 и подсчитайте отдельно...

0 голосов
113 просмотров

C++

1) Заполните массив случайными числами в диапазоне 20..100 и подсчитайте отдельно число чётных и нечётных элементов.

2) Заполните массив случайными числами в диапазоне 0..100 и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые ≥50.


Информатика (109 баллов) | 113 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

В первом задании пропустил srand(time(NULL)); допишешь его.


image
image
(1.5k баллов)
0

cложнаа

0 голосов

1)
typedef size_t uint32;
mt19937 gen{ random_device()() };
uniform_int_distribution uid(20, 100);
const uint32 N = 10;    
int main()
{
     uint32 arr[N], pos{0}, neg{0};
     for (uint32 i = 0; i < N; ++i) {
         arr[i] = uid(gen);
         cout << arr[i] << " ";<br>         if (arr[i] % 2 == 0) ++pos;
         else ++neg;
     }
     cout << endl << pos << "/" << neg << endl;<br>     system("pause");
}
2)
typedef size_t uint32;
mt19937 gen{ random_device()() };
uniform_int_distribution uid(0, 100);
const uint32 N = 10;    
int main()
{
     uint32 arr[N], lf{ 0 }, hf{ 0 }, sum1{ 0 }, sum2{ 0 };
     for (uint32 i = 0; i < N; ++i) {
         arr[i] = uid(gen);
         cout << arr[i] << " ";<br>         if (arr[i] >= 50) {
             ++lf;
             sum1 += arr[i];
         } else {
             ++hf;
             sum2 += arr[i];
         }
     }
     cout << endl << sum1 / lf << "/" << sum2 / hf << endl;<br>     system("pause");
}

(4.2k баллов)