Вопрос задан 09.07.2023 в 18:41. Предмет Информатика. Спрашивает Кудрицкая Даша.

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Борисенко Максим.

Решение на 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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на C++, который решает данную задачу:

cpp
#include <iostream> #include <cstdlib> #include <ctime> #include <iomanip> // Для управления выводом дробных чисел using namespace std; int main() { int A, B, N; cin >> A >> B >> N; int array[N]; double sumBelow50 = 0, sumAbove50 = 0; // Суммы элементов меньше и больше 50 int countBelow50 = 0, countAbove50 = 0; // Количество элементов меньше и больше 50 srand(time(0)); // Инициализация генератора случайных чисел по текущему времени // Заполнение массива случайными числами for (int i = 0; i < N; ++i) { array[i] = A + rand() % (B - A + 1); if (array[i] < 50) { sumBelow50 += array[i]; countBelow50++; } else { sumAbove50 += array[i]; countAbove50++; } } // Вывод массива for (int i = 0; i < N; ++i) { cout << array[i] << " "; } cout << endl; // Расчет и вывод средних значений cout << fixed << setprecision(3); // Устанавливаем точность вывода дробных чисел if (countBelow50 > 0) { cout << sumBelow50 / countBelow50 << " "; } else { cout << "0 "; } if (countAbove50 > 0) { cout << sumAbove50 / countAbove50 << endl; } else { cout << "0" << endl; } return 0; }

Программа сначала считывает границы диапазона (A и B) и размер массива (N) из входных данных. Затем она заполняет массив случайными числами в указанном диапазоне и одновременно вычисляет суммы элементов меньше и больше 50, а также подсчитывает их количество.

После заполнения массива программа выводит элементы массива, а затем выводит средние арифметические значения для элементов меньше и больше 50 с требуемой точностью. Если в какой-то из групп не оказалось элементов, выводится "0".

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос