Среди первых трёх элеметов найдите максимальный элемент и его индекс. среди последних трёх элементов найдите минимальный элемент и его индекс . результат выведите на экран . паскаль

elena30061984 elena30061984    3   12.09.2019 15:10    0

Ответы
narutoluffi1 narutoluffi1  07.10.2020 09:54
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var s:=a.Select((v,i)->(v,i)); // последовательность в памяти не хранится
  var max:=s.Take(3).Max(t->t[0]);
  var imax:=a.IndexesOf(t->t=max).First;
  var min:=s.TakeLast(3).Min(t->t[0]);
  var imin:=a.IndexesOf(t->t=min).Last;
  Writeln('Максимальный из первых трех - №',imax+1,': ',a[imax]);
  Writeln('Минимальный из последних трех - №',imin+1,': ',a[imin]);
end.

Пример:
n= 17
-34 37 26 41 19 24 19 4 -7 -31 5 -23 -40 -40 -31 -28 -12
Максимальный из первых трех - №2: 37
Минимальный из последних трех - №15: -31
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика