saulokada 0 Denunciar post Postado Maio 3, 2010 Estou utilizando XLISP... o exercicio é o seguinte: - Escreva um procedimento que, dados um elemento e uma lista, apaga todas as ocorrências desse elemento na lista. A minha resposta foi a seguinte: (defun apaga (elemento lista) (cond ((null lista) nil) ((equal elemento (car lista)) (cdr lista)) (t (apaga(elemento (cdr lista)))))) mas nao esta dando certo.alguem poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Alexandre.Itba 0 Denunciar post Postado Maio 16, 2010 Existe a função remove, que já faz isto. (remove elemento lista) mas se quiser fazer na unha: (defun apaga (elemento lista temp) (cond ((null lista) temp) ((equal elemento (car lista)) (apaga elemento (cdr lista) temp)) (T (apaga elemento (cdr lista) (cons (car lista) temp))) ) ) (defun apagarElemento (elemento lista) (apaga elemento lista '()) ) Compartilhar este post Link para o post Compartilhar em outros sites