SoloCodigo

Programación Específica => Otros temas específicos => Programación Lógica => Mensaje iniciado por: noeliasfranco en Viernes 16 de Julio de 2010, 20:55

Título: Problema de Prolog que no puedo resolver
Publicado por: noeliasfranco en Viernes 16 de Julio de 2010, 20:55
Tengo el siguiente problema: Ingresar una lista de números. Si el último nro es par, cambiar las posiciones pares de la lista por 0. Si es impar, cambiar las posiciones  impares de la lista por 0.

Entiendo la primer parte, yo hago lo siguiente:
inicio:-write('Ingrese la lista: '), leer(L), modificar(L).
leer([H|T]):-read(H), H/=[],leer(T). %el palito de distinto está al revés porque se me cambió el teclado :)
leer([]).
modificar(L):-reverse(L,R),verParidad(L,R).
verParidad(L,[X|_]):- S is X mod 2, S=0, cambiarPares(); cambiarImpares().

lo que no entiendo es cómo hacer que me modifique las posiciones pares o impares por 0.

Gracias!