Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет среднее арифметическое всех элементов этого массива, которые меньше 50, и среднее арифметическое всех остальных элементов.

Входные данные

Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные

В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – среднее арифметическое всех элементов этого массива, которые меньше 50, и затем через пробел среднее арифметическое всех остальных элементов. При выводе последних двух чисел нужно сохранить три знака в дробной части. Если в какой-то из двух групп не оказалось ни одного элемента, нужно вывести вместо среднего арифметического число 0.
CPP

Примеры

входные данные

0 100 10

выходные данные

0 3 86 20 27 67 32 16 37 42

22.125 76.500

Supreme222 Supreme222    1   28.04.2020 20:23    35

Ответы
Vica73751 Vica73751  14.10.2020 01:36

Решение на c++:

#include <iostream>

#include <ctime>

int main()

{

   int N, i, a, b, k1 = 0, k2 = 0, s1 = 0, s2 = 0;

   int A[10000];

   std::cin >> a >> b >> N;

   srand(time(0));

   for (i = 0; i < N; i++)

   {

       A[i] = rand()%(b-a+1)+a;

       if (A[i] < 50)

       {

           k1++;

           s1 += A[i];

       }

       else

       {

           k2++;

           s2 += A[i];

       }

       std::cout << A[i] << " ";

   }

   std::cout << std::endl << ((k1 == 0) ? 0 : (s1*1./k1)) << " ";

   std::cout << ((k2 == 0) ? 0 : (s2 * 1. / k2)) << " ";

   return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика