Advertisement
Latkoski

Квадратно N

Aug 20th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.04 KB | None | 0 0
  1. (defun kvadratnoN (lista)
  2.     (cond
  3.         ((eq (daliKvadratna lista lista 0) t)(append (levo lista)(trim lista)(desno lista)))
  4.     ))
  5.  
  6. (defun pom (lista brojac)
  7.     (cond
  8.         ((null lista) nil)
  9.         ;((eq brojac (- (list-length lista) 1)) nil)
  10.         (t (cons (nth brojac (car lista))(pom (cdr lista)(+ 1 brojac))))
  11.         )
  12.     )
  13.  
  14. (defun trim (lista)
  15.     (cons (car(cdr (pom lista 0)))(butlast (cdr (cdr (pom lista 0)))))
  16.     )
  17.  
  18.  
  19.  
  20. (defun levo (lista)
  21.     (cond
  22.         ((null lista) nil)
  23.         (t (cons (caar lista)(levo (cdr lista))))
  24.         )
  25.     )
  26.  
  27. (defun desno (lista)
  28.     (cond
  29.         ((null lista) nil)
  30.         (t (append (list (car (reverse (car lista))))(desno (cdr lista)))
  31.         )))
  32.  
  33. (defun daliKvadratna (lista pomosna_lista brojac)
  34.  (cond
  35.   ((and (null lista)(eq (list-length pomosna_lista) brojac) t))
  36.   ((eq (list-length (car lista))(list-length pomosna_lista))(daliKvadratna (cdr lista) pomosna_lista (+ 1 brojac)))
  37.   (t nil)
  38.  ))
  39.  
  40. (print (kvadratnoN '((5 4 3 2)(a b c d)(v e f g)(11 8 1 7))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement