En este grupo En todos

Foro de Prolog



Dividir una lista de numeros en pares e impares y luego unirla en otra Lista!!!

uuu
Perú, Perú
Escrito por Uuu Lll
el 19/01/2013

Hola amigos, talvez sea facil pero no se como hacerlo, acudo a los expertos en prolog porque necesito de urgencia en prolog un programa que me permita ingresar una lista de números y que lo separe en 2 listas una de pares y otra de impares y luego las una en una sola lista.

por ejemplo con este codigo:

dividir([ ],[ ],[ ]).
dividir([L|R],[L|P],I):-E is L mod 2,E=0,dividir(R,P,I),!.
dividir([L|R],P,[L|I]):-C is L mod 2,C>0,dividir(R,P,I),!.

he conseguido esto:
? - dividir([2,3,4,5,6,7,8,9],Pares,Impares).
Pares = [2, 4, 6, 8],
Impares = [3, 5, 7, 9].

hasta alli e llegado, pero me falta al final unir las 2 listas pares e impares generar otra lista como esta:

Unidos = [2, 4, 6, 8, 3, 5, 7, 9].

Finalmente deveria ser algo como esto:

? - dividir([2,3,4,5,6,7,8,9],Pares,Impares,Unidos).
Pares = [2, 4, 6, 8],
Impares = [3, 5, 7, 9].
Unidos = [2, 4, 6, 8, 3, 5, 7, 9].

Espero su ayuda y/o sugerencias.
Gracias