Prolog - ayuda con listas

   
Vista:

ayuda con listas

Publicado por j.a. (1 intervención) el 14/04/2008 19:58:47
Hola, estoy empezando en prolog y estoy realizando algunos ejercicios, pero no me aclaro mucho con las listas, tengo un par de ejercicios que no consigo sacar, a ver si alguno me puede echar una mano, se lo agradecería mucho, que ya se sabe, todos los comienzos son difíciles, pero si es con alguna ayudita mejor ;)

1) Me gustaría que dada una lista con varios elementos repetidos, por ejemplo ?- lista([a,b,d,a,a,c,b]) pues la salida fuera otra lista, con los elementos y el nº de veces que se repiten, es decir L = [(a,3),(b,2),(c,1),(d,1)] y que se ordenase de mayor a menor por el número de repeticiones.

2) El segundo ejercicio sería, usando la salida anterior, me gustaría implementar un predicado al que yo le pase un elemento y me diga cuantas veces está repetido, por ejemplo si le paso la lista así: ?-lista([(a,3),(b,2),(d,4)],b,N). pues me diese como resultado N=2

Son de una relación de ejercicios sobre listas, estoy realizandolos pero estos dos se me resisten de todas las maneras, espero que me puedan echar una mano.

Muchas graciassss ;)
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
- Juego Rummy
- Problema del Granjero

RE:ayuda con listas

Publicado por jesssus (1 intervención) el 15/04/2008 13:50:23
He resuleto el ejercicio 2, el 1 me parece mas complicado, a ver si alguien consigue el 1 que ya me pica la curiosidad, ahí va el 2:

contar([],_,N):-N is 0.
contar([X|_],M,N):-X=(M,N).

contar([_|L],M,N):-contar(L,M,N).
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

RE:ayuda con listas

Publicado por Johan jagn78251@hotmail.com (1 intervención) el 25/04/2013 02:42:24
De casualidad ya pudo resolver el primer punto?, resulta que tengo un problema muy similar! Agradecería su respuesta.
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