Форум программистов, компьютерный форум, киберфорум
Erlang, OTP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 11
1

Написать функцию высшего порядка

26.05.2019, 11:33. Просмотров 1616. Ответов 3
Метки нет (Все метки)

Здравствуйте, как написать функцию высшего порядка Funct(func(x) -> ((x - (x rem 10))/10) end , [1,57,101,102,53,6]). Суть это в следующем в Funct(F,X) F - функция которая осуществляет математические действия над каждым элементом списка X, а Funct возвращает список, где над каждым элементом было совершено математическое действие func(x) -> ((x - (x rem 10))/10) end и в выводимом списке элементы не должны повторяться.

Funct(func(x) -> ((x - (x rem 10))/10) end , [1,57,101,102,53,6])
Результат [0,5,10]

Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2019, 11:33
Ответы с готовыми решениями:

Функции высшего порядка
Добрый день! Помогите кто чем может, пожалуйста. Нельзя использоваться стандартные возможности...

Функции высшего порядка
Доброго времени суток. Нужна помощь в решении задачи. Определить функцию высшего порядка...

Erlang: Функции высшего порядка
Даны два списка: x=(x1 x2 … xp) – список элементов и y=(y1 y2 … yk) – список функций. Определить...

Erlang: Функции высшего порядка
Пусть X – список элементов, а Y – список функций, с помощью которых можно получить числовые...

3
3628 / 2364 / 307
Регистрация: 01.06.2013
Сообщений: 5,037
Записей в блоге: 9
26.05.2019, 12:11 2
Prolog
1
2
3
4
remove_dups([])    -> [];
remove_dups([H|T]) -> [H | [X || X <- remove_dups(T), X /= H]].
 
funct(F,X) -> remove_dups(lists:map(F,X)).
Имена функций должны начинаться с маленькой буквы, а аргументы функций с большой. По этому проверка
Prolog
1
funct(fun(X) -> ((X - (X rem 10))/10) end , [1,57,101,102,53,6]).
1
0 / 0 / 0
Регистрация: 05.05.2019
Сообщений: 11
26.05.2019, 12:32  [ТС] 3
Спасибо за помощь, а можете подсказать как обойтись без функции lists:map(), преподаватель запретил их использовать ? Если вас это не затруднит.
0
3628 / 2364 / 307
Регистрация: 01.06.2013
Сообщений: 5,037
Записей в блоге: 9
26.05.2019, 14:00 4
Лучший ответ Сообщение было отмечено LFX как решение

Решение

Prolog
1
2
3
4
5
6
7
remove_dups([])    -> [];
remove_dups([H|T]) -> [H | [X || X <- remove_dups(T), X /= H]].
 
mymap(_,[],A) -> A;
mymap(F,[H|T],A) -> mymap(F,T,[F(H)|A]).
 
funct(F,X) -> remove_dups(mymap(F,X,[])).
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2019, 14:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Erlang: Функции высшего порядка
Даны два списка X и Y. Список y является упорядоченным по некоторому правилу. Определить функцию...

Функции высшего порядка. Определить функционал Otobr (F,X)
Люди, кто знает как сделать это упражнение, у меня уже идеи закончились ? Определить функционал...

[Io] Создание функций высшего порядка
Пытался выяснить как в Io обстоят дела с функциями высшего порядка ( map, foreach, ... ) Конкретно...

Определить функцию высшего порядка
Здравствуйте! Имеется функция рекурсивной сортировки списка: (defun SORT (list) (if list ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.