
ПАСКАЛЬ 30 баллов Напишите программу, которая заполняет массив из N элементов случайными целыми
числами в диапазоне [ A , B ] и определяет среднее арифметическое всех элементов этого массива, которые меньше 50, и среднее арифметическое всех остальных элементов. Входные данные Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 . Выходные данные В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – среднее арифметическое всех элементов этого массива, которые меньше 50, и затем через пробел среднее арифметическое всех остальных элементов. При выводе последних двух чисел нужно сохранить три знака в дробной части. Если в какой-то из двух групп не оказалось ни одного элемента, нужно вывести вместо среднего арифметического число 0. Примеры входные данные 0 100 10 выходные данные 0 3 86 20 27 67 32 16 37 42 22.125 76.500 входные данные -10 40 6 выходные данные -10 -9 33 0 3 24 6.833 0.000

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

var m:array[1..100000] of integer;
a,b,sum,sum2,n,k,i:integer;
begin
sum:=0;
k:=0;
sum2:=0;
readln(a,b,n);
randomize;
for i:=1 to n do begin m[i]:=random(a,b); if(m[i]<50) then begin sum:=sum+m[i]; k:=k+1; end;
if(m[i]>=50) then sum2:=sum2+m[i]; end;
for i:=1 to n do write(m[i],' ');
writeln;
writeln((sum/k):5:3,' ',(sum2/(n-k):5:3));
end.



Для решения этой задачи на языке программирования Pascal, вы можете использовать следующий код. Программа будет генерировать случайные числа в заданном диапазоне [A, B], заполнять ими массив, а затем вычислять среднее арифметическое для элементов, которые меньше 50, и для остальных элементов:
```pascal program AverageCalculation;
var N, A, B, i: Integer; arr: array of Integer; sumLessThan50, countLessThan50, sumGreaterThanEqual50, countGreaterThanEqual50: Integer; averageLessThan50, averageGreaterThanEqual50: Real;
begin // Ввод границ диапазона и размера массива Readln(A, B, N);
// Инициализация массива SetLength(arr, N);
// Заполнение массива случайными числами в диапазоне [A, B] Randomize; for i := 0 to N - 1 do begin arr[i] := Random(B - A + 1) + A; Write(arr[i], ' '); end; Writeln;
// Инициализация переменных для вычисления среднего sumLessThan50 := 0; countLessThan50 := 0; sumGreaterThanEqual50 := 0; countGreaterThanEqual50 := 0;
// Вычисление суммы и количества элементов для каждой из двух групп for i := 0 to N - 1 do begin if arr[i] < 50 then begin sumLessThan50 := sumLessThan50 + arr[i]; countLessThan50 := countLessThan50 + 1; end else begin sumGreaterThanEqual50 := sumGreaterThanEqual50 + arr[i]; countGreaterThanEqual50 := countGreaterThanEqual50 + 1; end; end;
// Вычисление среднего арифметического для каждой группы if countLessThan50 > 0 then averageLessThan50 := sumLessThan50 / countLessThan50 else averageLessThan50 := 0;
if countGreaterThanEqual50 > 0 then averageGreaterThanEqual50 := sumGreaterThanEqual50 / countGreaterThanEqual50 else averageGreaterThanEqual50 := 0;
// Вывод средних арифметических с точностью до трех знаков после запятой WriteLn(FormatFloat('0.000', averageLessThan50), ' ', FormatFloat('0.000', averageGreaterThanEqual50)); end. ```
После ввода границ диапазона и размера массива, программа заполняет массив случайными числами в указанном диапазоне, вычисляет средние арифметические для двух групп элементов и выводит результат с точностью до трех знаков после запятой.


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









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili