В категория Код

Обръщане на списък на Lisp. Reverse!

Функция за деструктивно обръщане на списък. От (1 2 3 4 5) => (5 4 3 2 1). (define (reverse1 l) (if (null? l) ‘() (append (reverse1 (cdr l)) (list (car l))) )) (define (reverse! l) (let ((l1 (reverse1 l))) (begin (set-cdr! l (cdr l1)) (set-car! l (car l1)) ) )) (define l (list 1 […]

Няма коментари

FPDF полезни функции

FPDF е клас на php за изработка на pdf документи. Чрез него може да направите точно каквото пожелаете. За разлика от конвертирането на HTML към PDF, което не може да се контролира точно как ще се покаже, чрез FPDF имате пълен контрол. Пълния контрол е свързан с много функции, по-дълго програмиране, но по-добър ефект. Ето […]

Няма коментари

Число с нечетни цифри на Lisp

Тази функция взима число и връща друго създадено от нечетните цифри на 1-то. Или по-скоро преобразува число, като маха неговите четни цифри. На  123456 връща 135 (define (make_number n) (define (get-num num) (if (odd? num) num 0)) (cond ((= n 0) 0) (else (+ (get-num (remainder n 10)) (if (odd? (quotient (remainder n 100) 10)) […]

Няма коментари

Сума на четни цифри на Lisp

Ето и една функция на Lisp, за намиране на сумата от четните цифри на едно число. Или на 2245533, ще върне 2+2+4=8 (define (even-digits n) (define (get-num num) (if (even? num) num 0)) (cond ((= n 0) 0) (else (+ (get-num (remainder n 10)) (even-digits (quotient n 10)))))) (even-digits 2222333)

Няма коментари

Премахване на елемент от вложени списъци Lisp

remove_deep премахва елемент от списък, които може да има като елемент други списъци. Или от L = {1, 2, {3}, {4, 5, {6}}, 7}, може да премахнем всяко число с „remove_deep L x“. (define (remove_deep l x) (define (cons_helper a b) (if (= x a) b (cons a b))) (cond ((null? l) l) ((list? (car […]

Няма коментари