Найти максимальный элемент последовательности среди тех элементов, порядковый номер которого делится на 3 - PascalABC.NET

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

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

Ввести с клавиатуры последовательность из n целых чисел. Найти максимальный элемент этой последовательности среди тех элементов, порядковый номер которого делится на 3.

Решение задачи: «Найти максимальный элемент последовательности среди тех элементов, порядковый номер которого делится на 3»

textual
Листинг программы
uses System.Linq;
 
begin
  writeln('Max = ',
    Enumerable.Range(0, integer.MaxValue - 1).Select(i -> ReadlnInteger()).TakeWhile(i -> i <> 0).
    Where((v, i) -> Succ(i) mod 3 = 0).DefaultIfEmpty(-1).Max()
  );
end.

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

В данном коде на языке PascalABC.Net реализуется следующая задача: необходимо найти максимальный элемент последовательности, причем только среди тех элементов, порядковый номер которых делится на 3. Вот что делает код:

  1. Enumerable.Range(0, integer.MaxValue - 1) - создает последовательность чисел от 0 до integer.MaxValue - 1 (поскольку индексация в Паскале начинается с 0).
  2. Select(i -> ReadlnInteger()) - преобразует каждый элемент последовательности в целое число, используя функцию ReadlnInteger(). Это значит, что программа будет запрашивать ввод числа с клавиатуры для каждого элемента последовательности.
  3. TakeWhile(i -> i <> 0) - из полученной последовательности удаляет все элементы, равные 0. Таким образом, в последовательности остаются только ненулевые числа.
  4. Where((v, i) -> Succ(i) mod 3 = 0) - фильтрует полученную последовательность, оставляя только те элементы, порядковый номер которых делится на 3.
  5. DefaultIfEmpty(-1) - добавляет в конец последовательности значение -1, если в предыдущем шаге не было найдено ни одного элемента, удовлетворяющего условию.
  6. Max() - находит максимальный элемент в полученной последовательности.
  7. writeln('Max = ', value) - выводит на экран значение максимального элемента. Обратите внимание, что в данном коде используется функция ReadlnInteger(), которая запрашивает ввод числа с клавиатуры. Поэтому при запуске программы вам будет необходимо вводить числа.

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


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

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

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