Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > LISP > Задача с функционалами |
Автор: annafiotika 5.12.2011, 20:01 |
Помогите пожалуйста решить зачачу!!! На основе использования функционалов разместить точечные пары списка в порядке возростания CAR и CDR частей. Например : ((1.11)(2.10)(3.2)) -> ((3.2)(1.11)(2.10)). сессия на носу! программа очень нужна! |
Автор: newbee 5.12.2011, 21:05 |
Я бы помогла, но не поняла зависимости перехода одного списка в другой. |
Автор: annafiotika 5.12.2011, 21:14 |
Допустим это изначальный список ((1.11)(2.10)(3.2)), далее нужно умножить каждую точечную пару и в порядке возрастания написать список. То есть, 1*11=11 2*10=20 3*2=6 Результирующий список ((3.2)(1.11)(2.10)) Буду очень благодарна, если поможешь!!! |
Автор: newbee 5.12.2011, 21:27 | ||
Компилятора под рукой нет, но по идее так (я не знаю какой у тебя диалект лиспа и функция сортировки может называться по-другому):
|
Автор: annafiotika 5.12.2011, 21:31 |
Спасибо, но не то. Нужно с помощью функционалов это реализовать. ((( |
Автор: newbee 5.12.2011, 21:35 |
А что такое функционал? Добавлено через 41 секунду Я просто далека от студенческой терминологии... |
Автор: annafiotika 5.12.2011, 21:44 |
аппликативные функционали - apply , funcall. отображающие функционалы - mapcar, maplist, mapcan. |
Автор: newbee 5.12.2011, 21:49 |
Если я правильно поняла терминологию, то функционал - это просто функция высшего порядка, так их обычно называют. Sort - одна из них. Просто на map-функциях сортировку не сделать, по-моему. |
Автор: annafiotika 5.12.2011, 22:06 |
Студент я никудышний! Спасибо большущее)) |
Автор: Catstail 31.1.2013, 17:50 | ||||
Вспомогательная функция
Решение задачи:
|