|
|
|
Помогите исправить программу на LISP
|
|||
|---|---|---|---|
|
#18+
Помогите исправить задачу на LISP: Создать программу, вычисляющую количество отрицательных элементов введенного списка. Программа есть но в одном случае неработает, если вводишь (f `(1 2 -4 () -2)) и она выводит ошибку из-за пустого списка внитри(( вот текст программы: (defun F (L) (if L (let ((x (car L))) (mapcar '+ (if (atom x) (cond ((plusp x) (list 1)) (T (list 0))) (F x)) (F (cdr L)))) (list 0))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 19:55 |
|
||
|
Помогите исправить программу на LISP
|
|||
|---|---|---|---|
|
#18+
grifonseesПомогите исправить задачу на LISP: Создать программу, вычисляющую количество отрицательных элементов введенного списка. Программа есть но в одном случае неработает, если вводишь (f `(1 2 -4 () -2)) и она выводит ошибку из-за пустого списка внитри(( вот текст программы: (defun F (L) (if L (let ((x (car L))) (mapcar '+ (if (atom x) (cond ((plusp x) (list 1)) (T (list 0))) (F x)) (F (cdr L)))) (list 0))) а может так и нужно?, если нет, то заменить проверку - вместо "atom" - на лисповый предикат проверки, что это число, возможно он называеться "number", я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 20:53 |
|
||
|
Помогите исправить программу на LISP
|
|||
|---|---|---|---|
|
#18+
Спосибо, заработало только надо "numberp":) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 21:07 |
|
||
|
Помогите исправить программу на LISP
|
|||
|---|---|---|---|
|
#18+
grifonseesСпосибо, заработало только надо "numberp":)я лиспа не знаю, потому и не удивлен, что привел не верное имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 21:08 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37664061&tid=1342444]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 466ms |

| 0 / 0 |
