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
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


0