
Напишите программу с помощью Паскаля. Сформировать массив случайным образом(длина массива
20).Найти в нем среднее арифметическое.Сформировать новый массив из элементов первого больших среднего арифметического.

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

var i, j: integer;
var s: real;
var m: array[1..20] of integer;
var n: array[1..20] of integer;
{ формируем массив и заодно вычисляем сумму элементов }
for i := 1 to 20 do begin
m[i] := random(1000);
s := s + m[i];
end;
{ печать массива }
for i := 1 to 20 do begin
writeln(m[i]);
end;
writeln('');
{ среднее арифметическое }
s := s / 20;
writeln(s);
j := 0;
for i := 1 to 20 do begin
if m[i] > s then begin
j := j + 1;
n[j] := m[i];
end;
end;
writeln('');
for i := 1 to j do begin
writeln(n[i]);
end;
end.



Программа формирует новый массив со смещением в лево
Program sector;
const
n=10;
var
a,b:array [1..n,1..n] of integer;
z:real;
i,j,k: byte;
begin
randomize;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random (40);
a[i,j]:=a[i,j]-20;
write(a[i,j]:4);
end;
writeln;
end;
z:=0;
for i:=1 to n do
for j:=1 to i do
z:=z+a[i,j];
z:=z/(n*n);
writeln('srednee = ',z);
for i:=1 to n do begin
k:=1;
for j:=1 to n do
if a[i,j] > z then begin
b[i,k]:=a[i,j];
write(b[i,k]:4);
k:=k+1;
end;
writeln;
end;
readln;
end.



Хорошо! Вот программа на языке Pascal, которая реализует указанные шаги:
pascalprogram AverageAndGreater; const ARRAY_SIZE = 20; type TArray = array[1..ARRAY_SIZE] of Integer; var originalArray, greaterArray: TArray; i, sum, average: Integer; procedure GenerateRandomArray(var arr: TArray); var i: Integer; begin Randomize; for i := 1 to ARRAY_SIZE do arr[i] := Random(100); // Генерируем случайное число от 0 до 99 end; function CalculateAverage(const arr: TArray): Integer; var i, sum: Integer; begin sum := 0; for i := 1 to ARRAY_SIZE do sum := sum + arr[i]; Result := sum div ARRAY_SIZE; end; procedure ExtractGreaterElements(const originalArr: TArray; averageValue: Integer; var greaterArr: TArray; var greaterArrSize: Integer); var i: Integer; begin greaterArrSize := 0; for i := 1 to ARRAY_SIZE do begin if originalArr[i] > averageValue then begin Inc(greaterArrSize); greaterArr[greaterArrSize] := originalArr[i]; end; end; end; procedure PrintArray(const arr: TArray; size: Integer); var i: Integer; begin for i := 1 to size do Write(arr[i], ' '); Writeln; end; begin // Шаг 1: Сформируем случайный массив GenerateRandomArray(originalArray); // Шаг 2: Найдем среднее арифметическое sum := 0; for i := 1 to ARRAY_SIZE do sum := sum + originalArray[i]; average := sum div ARRAY_SIZE; // Шаг 3: Сформируем новый массив с элементами, большими среднего арифметического ExtractGreaterElements(originalArray, average, greaterArray, ARRAY_SIZE); // Выведем исходный массив и новый массив Writeln('Исходный массив:'); PrintArray(originalArray, ARRAY_SIZE); Writeln('Среднее арифметическое: ', average); Writeln('Массив элементов, больших среднего арифметического:'); PrintArray(greaterArray, ARRAY_SIZE); end.
Программа сначала создает массив случайных чисел, затем находит среднее арифметическое этого массива и формирует новый массив из элементов первого массива, которые больше найденного среднего арифметического. Обратите внимание, что второй массив может быть меньшего размера, чем 20, если в исходном массиве нет чисел больше среднего арифметического.


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