Задание в Паскале АВС, Ребята очень надо, солидные баллы... Напишите командыВведите с...

0 голосов
33 просмотров

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


Информатика (17 баллов) | 33 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
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('>');
  s:=0;
  n:=0;
  for i:=1 to x do begin
    Read(M[i]);
    if M[i]>3 then begin
      s:=s+M[i];
      n:=n+1
    end
  end;
  if n>0 then m1:=s/n
  else m1:=0;
  max:=M[x];
  for i:=x-1 downto x-9 do
    if M[i]>max then max:=M[i];
  r:=max/m1;
  n:=0;
  for i:=1 to x do
    if M[i]>r then begin
      n:=n+1;
      C[n]:=M[i];
      Write(C[n],' ')
      end;
end.


Пример
x=18
>-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('>',ReadInteger('x='));
  var r:=(M.TakeLast(10).Max)/(M.Where(b->b>3).Average);
  var C:=M.Where(b->b>r).ToArray; C.Println
end.

Пример
x= 18
> -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

Сравнение явно не в пользу школьного программирования...
(150k баллов)