Хееелп. Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А перед...

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

Хееелп. Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А перед вторым максимальным элементом (2,100,5,99*,17). Удаление первого максимального элемента списка (2,5,А,99,17). Выполнить сортировку списка по возрастанию. После выполнения каждой операции выводить список на экран.


Информатика (15 баллов) | 28 просмотров
0

на днях именно эта задача уже была решена.

0

Была с немного другим условием, там с кратным 3, можете помочь немного подкорректировать ту?

0

А что за проблема самостоятельно подправить?

0

Не могу понять как это сделать((

0

Если не сложно, помогите пж, буду ооочень благодарен

Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.4.2, сборка 1790 от 15.09.2018

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

begin

 var L := new List;

 L.AddRange(Seq(2, 100, 5, 99, 17));

 L.Println;

 var A := ReadInteger('A=');

 var s:=L.ToArray.Select((v, i)-> (v, i)); // в памяти не хранится!

 // Ищем 2- максимальный элемент. Сортируем по убыванию, берем 2-й.

 var i := s.OrderByDescending(t -> t[0]).Skip(1).First[1];

 L.Insert(i,A); // вставка

 L.Println;

 L.Remove(L.Max); // удаление

 L.Println;

 L := L.Sorted.ToList; // сортировка

 L.Println

end.

(654k баллов)