Предмет: Информатика,
автор: danikgitler
Помогите решить задачу:формирование списка из n элементов Добавление элемента А после второго максимального Удаление повторяющегося второй раз максимального элемента если такого нет ничего не удалять Выполнить сортировку списка по убыванию.После каждой операции, выводить результат на экран
Аноним:
А если можно вторым максимальным считать число и меньше абсолютного максимума, то два максимума есть всегда и фраза " если такого нет ничего не удалять" непонятно зачем.
Ответы
Автор ответа:
2
// PascalABC.NET 3.4.2, сборка 1806 от 30.09.2018
// Внимание! Если программа не работает, обновите версию!
begin
var L := ReadSeqInteger('Вводите:', ReadInteger('N=')).ToList;
L.Println; // исходная
var k := L.OrderDescending.Skip(1).First; // после чего вставить
var A := ReadInteger('Что вставляем?');
L.Insert(L.IndexOf(k) + 1, A);
L.Println; // после вставки
k := L.Max;
var ai := L.ToArray.IndexesOf(t -> t = k).ToArray;
if ai.Count > 1 then
begin
L.RemoveAt(ai[1]);
L.Println; // после удаления, если оно было
end;
L := L.SortedDescending.ToList;
L.Println // после сортировки
end.
Похожие вопросы
Предмет: История,
автор: eugeniodepez
Предмет: Другие предметы,
автор: kamila5239
Предмет: Алгебра,
автор: asmi08
Предмет: Алгебра,
автор: aseka555
Предмет: История,
автор: Katenik167