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