| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > Помогите с задачей |
| Автор: Bananza 17.6.2010, 14:12 |
| Всем доброго дня. Помогите с задачкой на Lisp. Можно решить двумя способами в рекурсивном варианте и в итерационном варианте. А вот и сама задача. Заменять все отрицательные элементы списка значением 0. Пример: >(name ‘(1 -5 6 -7 8 -9 -4)) (1 0 6 0 8 0 0) Вот моё решение, но оно не работает. (defun name (1 -5 6 -7 8 -9 -4)) (cond ((> name 0) 0) ) ) |
| Автор: VH_ 17.6.2010, 17:53 | ||
|
| Автор: k0rvin 17.6.2010, 18:04 | ||
|
| Автор: Bananza 18.6.2010, 11:27 |
| Спасибо Вам большое ребята. Неожидал, что так быстро ответят на мой вопрос. |
| Автор: wwall 25.6.2010, 10:21 |
| #lang racket (define newList '(1 -5 6 -7 8 -9 -4)) (map (lambda(x) (max x 0)) newList) (define (rec-work x) (printf "~a" x) (if (null? x) null (append (list (max 0 (car x))) (rec-work (cdr x))))) (rec-work newList) вариант для схемы |
| Автор: _sg 25.4.2014, 12:23 | ||
как вариант:
|