Je výhodné implementovať funkciu ktorá vracia n-tý prvok zoznamu. Tú potom použijeme v hlavnej funkcií na daný riadok poľa.


; Prvok určený súradnicami x y (x-stlpec y-riadok)
; Za prvú považujem súradnicu 0.

; Vráti prvok zoznamu. Ak chyba NIL.

(defun vrat (poz zoz)
 (cond ((null zoz) NIL)
       ((= poz 0) (first zoz))
       (T (vrat (- poz 1) (rest zoz)))
 )
)

Príklady:
(vrat 1 '(a b c)) -> b
(vrat 5 '(a b c)) -> NIL

; Hlavná funkcia.
; Ak chyba vráti NIL. (x-stlpec y-riadok)

(defun vratprvok (x y pole)
 (cond ((null pole) NIL)
       ((= y 0) (vrat x (first pole)))
       (T (vratprvok x (- y 1) (rest pole)))
 )
)

Príklad:
(vratprvok 1 2 '((a b c)(d e f)(g h i))) -> h

Autori[ ZADANIE | AKO ZAČAŤ | RIEŠENIE ]
Posledná aktualizácia 4. 9. 2001
back  home  next