дана последовательность a1 a2 an. образовать новую последовательность, выбросив из исходной, те члены, которые равны min(a1,a2 an). как это сделать при помощи функций и процедур?

Вопрос школьника по предмету Информатика

дана последовательность a1 a2 an. образовать новую последовательность, выбросив из исходной, те члены, которые равны min(a1,a2 an). как это сделать при помощи функций и процедур?

Ответ учителя по предмету Информатика

// PascalABC.NET 3.2, сборка 1400 от 13.03.2017

// Внимание! Если программа не работает, обновите версию!

begin

  var a:=ArrRandom(ReadInteger(‘n=’),-10,10); a.Println;

  var m:=a.Min;

  var b:=a.Where(x->x<>m); b.Println;

end.

Пример

n= 30

-3 6 -2 5 -1 -10 3 9 8 5 2 9 4 -10 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3

-3 6 -2 5 -1 3 9 8 5 2 9 4 8 10 6 9 -8 4 -7 2 10 -7 -7 -5 1 2 0 -3

С процедурами и функциями (высосано из пальца, ибо не нужно)

// PascalABC.NET 3.2, сборка 1400 от 13.03.2017

// Внимание! Если программа не работает, обновите версию!

function ArrMin(a:array of integer):=a.Min;

procedure NewSequence(a:array of integer; del:integer; var s:sequence of integer);

begin

  s:=a.Where(x->x<>del)

end;

begin

  var a:=ArrRandom(ReadInteger(‘n=’),-10,10); a.Println;

  var b:sequence of integer;

  NewSequence(a,ArrMin(a),b);

  b.Println

end.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей