1. Куча / Говнокод #2358

    +115.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    (defun create (a) ;; список из составляющих атомов списка A
    	(cond
    		((null a) nil)
    		((atom a) (list a))
    		(T (append (create (car a)) (create (cdr a))))
    	)
    )
    
    (defun uniq (a) ;; оставить только уникальные атомы
    	(cond 
    		((null a) nil)
    		((member (car a) (cdr a)) (uniq (cdr a)))
    		(t (cons (car a) (uniq (cdr a))))
    	)
    )
    
    (defun compare (a b) ;; сравнение состава списков
    	(if (= (length a) (length b)) 
    		(diff a b) 
    		nil
    	)
    )
    
    (defun diff (a b) ;; проверка состава 2x списков
    	(cond
    		((null a) T)
    		(T (if (member (car a) b) 
    			(diff (cdr a) b) 
    			nil )
    		)
    	)
    )
    
    (defun main (a b)
    	(compare
    		(uniq (create a))
    		(uniq (create b))
    	)
    )

    а нужно было всего то проверить состоят ли 2 списка из одних и тех же атомов

    Запостил: xXx_totalwar, 31 Декабря 2009

    Комментарии (8) RSS

    • лисп такой лисп
      Ответить
    • говнокодеры добрались до божественного языка
      Ответить
    • Автор, ты криворукий мудак, который не знает как нужно форматировать Лисповый код.
      Ответить
      • Кому нужно?
        Ответить
        • Кому? Я сказал как нужно, а не кому.
          Ответить
          • Как кому нужно, тогда?
            Нормально отформатировано, вон, у меня емакс по умолчанию по-другому отформатировал, в фирменном стиле паровоза из закрывашек.

            По мне, так нормальное форматирование, код читается, а что непривычно, так на кап да индент товарища нет, как говорится.
            Ответить
      • твое домашнее задание: найди автора и научи как нужно форматировать Лисповый код
        Ответить

    Добавить комментарий