Создать новый список - Haskell

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

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

Помогите пожалуйста с кодом программы. Задан список чисел. Создать новый список, в котором каждое значение поделено на максимальное значение исходного списка P.S. Заранее спасибо

Решение задачи: «Создать новый список»

textual
Листинг программы
import qualified Data.List.NonEmpty as NE -- Этот модуль в базовом пакете
import Data.List.NonEmpty (NonEmpty(..),(<|))
 
task l = NE.map (/maximum l) l
 
main :: IO ()
main = print $ task $ 1 <| 4 <| 5 <| 3 :| []

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

  1. Импортируется модуль Data.List.NonEmpty с помощью ключевого слова import.
  2. В этом модуле определены типы NonEmpty(..), map и оператор <|>, который является частью типа NonEmpty a.
  3. Далее определена функция task, которая принимает список l и возвращает список, где каждый элемент x изменён на x / maximum l.
  4. В функции main создаётся список [1, 4, 5, 3], который передаётся в функцию task.
  5. Результат работы функции task выводится на экран с помощью функции print.

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


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

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

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