Advertisement
Stolar228

Untitled

Mar 21st, 2023
1,537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.84 KB | None | 0 0
  1.  
  2. ; вырезать из списка знаки
  3. (defun chars(lst)
  4.     (cond
  5.         ((null lst) ())
  6.         ((numberp (car lst)) (chars(cdr lst)))
  7.         (T (cons(car lst) (chars (cdr lst))))
  8.     )
  9. )
  10.  
  11. ; вырезать из списка числа
  12. (defun numbers(lst)
  13.     (cond
  14.         ((null lst) ())
  15.         ((numberp (car lst)) (cons(car lst) (numbers (cdr lst))))
  16.         (T (numbers(cdr lst)))
  17.     )
  18. )
  19.  
  20. ; объеденение списков
  21. (defun mergelist(lst1 lst2)
  22.     (cond
  23.         ((null lst1) lst2)
  24.         (T(cons (car lst1) (mergelist (cdr lst1) lst2)))
  25.     )
  26. )
  27.  
  28. ; основная функция
  29. (defun main(lst)
  30.     (mergelist (chars lst) (numbers lst))
  31. )
  32.  
  33. (setq ARR '(30 * 2 - 5 + 88 - 77))
  34.  
  35. (terpri)
  36. (write-string "INPUT:")
  37. (write ARR)
  38. (terpri)
  39. (write-string "OUT:")
  40. (write (main ARR))
  41. (terpri)
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement