ta dufam ze da to co mam na bombach :D:D... viac menej tam idem len pozret sa a prihlasit sa na toho 13teho :/ takze tak
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Zobrazi prspevky MenuQuote from: misoka on 19.11.2007, 01:20:08Quote from: santa_claus on 18.11.2007, 22:34:35Quote from: kane77 on 18.11.2007, 19:38:09ja nechcem vyzerat ako totalny magor, ale mne to neslape ani s tym lst ani s nicim inym..postup je ako pisal uz ejden vyssie..new, save, compile a na zaver load ?Quote from: santa_claus on 18.11.2007, 18:38:57Quote from: kane77 on 17.11.2007, 22:26:39:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ?
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam..
eh no jasne ze vyhadzuje.. som si to nevsimol.. vyhadzuje preto lebo funkcia last uz v lispe existuje ... takze staci premenovat last na co ja viem napriklad lst..
takze spravne takto:
(defun lst(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
(defun lst(list)
(cond
((null list) (list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
takto by to mohlo ist...