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

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

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

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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы