
Севериан
6 год назад
Задание в Паскале АВС, Ребята очень надо, солидные баллы... Напишите команды
Введите с клавиатуры одномерный массив M(X), элементами которого являются положительные и отрицательные целые числа. Найдите среднее арифметическое чисел, больших 3; наибольшее среди последних 10-ти чисел, частное от деления наибольшего и среднего. Сформируйте новый массив С(N), состоящий из элементов массива М(Х), которые больше найденного частного.
ОТВЕТЫ

Эмильевич
Jul 5, 2019
1. Pascal ABC
const
nn=100;
var
M,C:array[1..nn] of integer;
x,i,n,s,max:integer;
m1,r:real;
begin
Write(x=);
Read(x);
Write(gt;);
s:=0;
n:=0;
for i:=1 to x do begin
Read(M[i]);
if M[i]gt;3 then begin
s:=s+M[i];
n:=n+1
end
end;
if ngt;0 then m1:=s/n
else m1:=0;
max:=M[x];
for i:=x-1 downto x-9 do
if M[i]gt;max then max:=M[i];
r:=max/m1;
n:=0;
for i:=1 to x do
if M[i]gt;r then begin
n:=n+1;
C[n]:=M[i];
Write(C[n], )
end;
end.
Пример
x=18
gt;-15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
2. PascalABC.NET 3.2, сборка 1370 от 24.12.2016
Если программа не работает, обновите версию!
begin
var M:=ReadArrInteger(gt;,ReadInteger(x=));
var r:=(M.TakeLast(10).Max)/(M.Where(b-gt;bgt;3).Average);
var C:=M.Where(b-gt;bgt;r).ToArray; C.Println
end.
Пример
x= 18
gt; -15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
Сравнение явно не в пользу школьного программирования...
const
nn=100;
var
M,C:array[1..nn] of integer;
x,i,n,s,max:integer;
m1,r:real;
begin
Write(x=);
Read(x);
Write(gt;);
s:=0;
n:=0;
for i:=1 to x do begin
Read(M[i]);
if M[i]gt;3 then begin
s:=s+M[i];
n:=n+1
end
end;
if ngt;0 then m1:=s/n
else m1:=0;
max:=M[x];
for i:=x-1 downto x-9 do
if M[i]gt;max then max:=M[i];
r:=max/m1;
n:=0;
for i:=1 to x do
if M[i]gt;r then begin
n:=n+1;
C[n]:=M[i];
Write(C[n], )
end;
end.
Пример
x=18
gt;-15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
2. PascalABC.NET 3.2, сборка 1370 от 24.12.2016
Если программа не работает, обновите версию!
begin
var M:=ReadArrInteger(gt;,ReadInteger(x=));
var r:=(M.TakeLast(10).Max)/(M.Where(b-gt;bgt;3).Average);
var C:=M.Where(b-gt;bgt;r).ToArray; C.Println
end.
Пример
x= 18
gt; -15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
Сравнение явно не в пользу школьного программирования...
76
Смежные вопросы: