Напишите программу, которая заполняет массив из 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
Решение на 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;
}