Advertisement
Latkoski

Квадратно И

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