Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Mascha
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 3
1

Для исходного сложного числового списка, построить список, состоящий из элементов исходного списка, отрицательные числа в котором заменены 0

19.12.2012, 22:15. Просмотров 1025. Ответов 5
Метки нет (Все метки)

Для исходного сложного числового списка, построить список, состоящий из элементов исходного списка, отрицательные числа в котором заменены 0
> (positive_list '(1 ((-2 3) -4) 5 (6)))
(1 ((0 3) 0) 5 (6))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 22:15
Ответы с готовыми решениями:

Создать список, состоящий из положительных элементов исходного списка
Помогите пожалуйста. Разработать рекурсивную(-ные) функцию(ии) для работы со списками: создать...

Создать список, в котором каждый из элементов исходного списка повторяется n раз
Помогите пожалуйста

Формировать список, в котором отсутствует каждый третий элемент исходного списка
Моя работает неправильно.Помогите найти ошибку.пользоваться можно только car cdr cons (defun...

Из произвольного списка и числового списка построить новый список
Доброго времени суток, прощу помощи с одной задачкой. Желательно объяснение, а не решение, хотелось...

Вернуть список, у которого первый элемент является суммой, а второй - произведением элементов исходного списка
Привет всем! Помогите пожалуйста составить функцию, которая возвращает список, у которого первый...

5
_sg
4027 / 3786 / 277
Регистрация: 12.05.2012
Сообщений: 2,658
19.12.2012, 22:57 2
Lisp
1
2
3
4
5
6
7
8
(defun minus>0 (w)
  (cond ((null w) nil)
        ((listp (car w)) (cons (minus>0 (car w)) (minus>0 (cdr w))))
        ((minusp (car w)) (cons 0 (minus>0 (cdr w))))
        ((cons (car w) (minus>0 (cdr w))))))
 
> (minus>0 '(1 ((-2 3) -4) 5 (6)))
(1 ((0 3) 0) 5 (6))
1
Lambdik
1038 / 932 / 106
Регистрация: 04.11.2012
Сообщений: 968
Записей в блоге: 3
19.12.2012, 23:05 3
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun positive_list (lst)
  (if lst
    (let ((item nil))
     (cons (cond
         ((listp (setq item (car lst))) (positive_list item))
         ((minusp item) 0)
         (t item)) (positive_list (cdr lst))))))
 
>(positive_list '(1 ((-2 3) -4) 5 (6)))
 
==>(1 ((0 3) 0) 5 (6))
1
Mascha
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 3
19.12.2012, 23:20  [ТС] 4
Спасибо
0
Catstail
Модератор
24388 / 12328 / 2240
Регистрация: 12.02.2012
Сообщений: 20,025
20.12.2012, 15:45 5
А так - короче:

Lisp
1
2
3
4
5
6
7
8
(defun task (x)
  (mapcar #'(lambda (y) (if (>= y 0) y 0)) x))
 
==> task
 
(task '(1 2 3 -1 -2 -3 5 6))
 
==> (1 2 3 0 0 0 5 6)
0
_sg
4027 / 3786 / 277
Регистрация: 12.05.2012
Сообщений: 2,658
20.12.2012, 15:56 6
Lisp
1
2
3
4
5
(defun minus>0 (w)
  (substitute-if 0 #'minusp w))
 
> (minus>0 '(1 2 3 -1 -2 -3 5 6))
(1 2 3 0 0 0 5 6)
1
20.12.2012, 15:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 15:56

Сформировать список, содержащий только отрицательные элементы исходного числового списка
Помогите кто сможет бьюсь головой об стол не знаю как!! Формировать список, содержащий только...

Рекурсия: формировать список, состоящий из не более чем N элементов исходного списка
Доброго времени суток. Помогите, пожалуйста, в написании программы на языке Erlang. Формулировка...

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


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

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

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