Prolog - Ejercicio para un final

   
Vista:

Ejercicio para un final

Publicado por Sol (1 intervención) el 02/08/2009 01:03:29
Hola necesitaria si alguien me puede ayudar a resolver este ejercicio, necesito hacer generar(L,I,P) las listas I y P donde P es la lista resultante de los elementos de L que esta en posiciones pares e I, es una lista compuesta por los elementos de las posiciones impares. agradeceria al que me lo pueda resolver... yo lo hice asi.. pero no me funciona...

no se cual sera el error.

cantidad([],0).
cantidad([x],1).
cantidad([x|xs],N):- M is N+1, cantidad(xs,M).

concatenar([], R, R).
concatenar([L|RL], R, [L|S]):- concatenar(RL, R, S).

generar([],I,P).
generar([L|L1],I,P):- cantidad(L1,N) , not(0=(N mod 2)) , concatenar(L,I,R) , generar(L1,R,P).
generar([L|L1],I,P):- cantidad(L1,N) , 0=(N mod 2) , concatenar(L,P,Q) , generar(L1,I,Q).

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Prolog
- Código fuente de Prolog
- Cursos de Prolog
- Temas de Prolog
información
Códigos de Prolog
- Tateti o tres en ralla
- Problema resuelto
- Juego Rummy

RE:Ejercicio para un final

Publicado por fijate (6 intervenciones) el 19/11/2009 19:00:29
generar(L,I,P):-generarAcu(L,I,P,1).

generarAcu([],[],[],_).
generarAcu([P|Ls],I,[P|Ps],N):-par(I),A is N+1,generarAcu(Ls,I,Ps,A).
generarAcu([I|Ls],[I|Is],P,N):-not (par(I)),A is N+1,generarAcu(Ls,Is,P,A).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar