Списки - PascalABC.NET (251687)

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Списки»

textual
Листинг программы
begin
  var L := New List<integer>;
  foreach var v in arr(2,100,5,99,100,17) do L.Add(v);
  Write('Список: '); L.Println;
  var m := L.Max;
  WriteLn('Максимум = ', m);
  while L.LastIndexMax > L.IndexMax do
    L.RemoveAt(L.LastIndexMax);
  Write('Список: '); L.Println;
  L := L.OrderByDescending(x->x).ToList;
  Write('Список: '); L.Println;
end.

Объяснение кода листинга программы

  1. Создается список L типа integer.
  2. Заполняется список L элементами из массива arr с помощью цикла foreach и метода Add.
  3. Выводится сообщение Список: и список L с помощью метода Println.
  4. Находится максимальное значение элемента в списке L с помощью метода Max и сохраняется в переменной m.
  5. Выводится сообщение Максимум = и значение переменной m.
  6. Удаляются все элементы списка L, начиная с последнего индекса максимального элемента, до тех пор, пока последний индекс максимального элемента не станет меньше или равен индексу первого элемента списка.
  7. Выводится сообщение Список: и список L с помощью метода Println.
  8. Сортируется список L в порядке убывания с помощью метода OrderByDescending и сохраняется в новую переменную L.
  9. Выводится сообщение Список: и список L с помощью метода Println.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы