Расположите в обратном порядке элементы массива, которые расположены перед максимальным элементом массива. - PascalABC.NET

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

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

Дан одномерный числовой массив размера K, значения элементов в котором различны. Расположите в обратном порядке элементы массива, которые расположены перед максимальным элементом массива. . Вспомогательный массив не*используйте. Вывод элементов измененного массива осуществите в строку. буду благодарна

Решение задачи: «Расположите в обратном порядке элементы массива, которые расположены перед максимальным элементом массива.»

textual
Листинг программы
begin
  var a := ArrRandom(ReadlnInteger('K =')).Println;
  var indexmax := a.Select((v, i) -> v = a.Max ? i : -1).OrderByDescending(v -> v).First;
  a := a.Take(indexmax).Reverse + a.Skip(indexmax);
  write('Изменённый массив: ', a.JoinIntoString);
end.

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

В этом коде выполняются следующие действия:

  1. Создаётся массив a размером K с помощью функции ArrRandom().
  2. Выводится на экран размер массива K.
  3. Находится индекс максимального элемента массива a с помощью функции Select, в которую передаётся лямбда-выражение, отбирающее пары элементов, где второй элемент (индекс) равен максимальному значению a, а первый элемент (значение) равен текущему значению переменной v. Если такое условие выполняется, то возвращается индекс. Если такого условия нет, то возвращается -1.
  4. Полученный список индексов сортируется в порядке убывания с помощью функции OrderByDescending.
  5. Из полученного списка индексов выбирается первый элемент (наибольший индекс) с помощью функции First.
  6. Изменяется порядок элементов массива a: сначала берутся элементы с индексами от indexmax до 0 с помощью функции Take, а затем к полученному массиву добавляются элементы с индексами от 0 до indexmax-1 с помощью функции Skip.
  7. Полученный изменённый массив выводится на экран с помощью функции write, в которую передаётся строка формата Изменённый массив:, а также переменная a, преобразованная в строку с помощью метода JoinIntoString.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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