SoloCodigo

Programación Específica => Otros temas específicos => Programación Lógica => Mensaje iniciado por: Dykaios en Viernes 11 de Enero de 2008, 01:10

Título: Problema Con Codigo De Prolog
Publicado por: Dykaios en Viernes 11 de Enero de 2008, 01:10
Buenas, tengo un problema con  un codigo que e generado y no logro dar con la tecla de por que no anda.
Si me pueden ayudar se los agradeceria el codigo es el siguiente:

descomponer([],[]).
descomponer([[X|Y]|L],[R|C]):- escribir(X,Y,R), descomponer(L,C).

escribir(X,Y,X):- Y =:= 0. % puede ser que falte el ! para que pare la recurcion.
escribir(X,Y,[X|L1]):- Y1 is Y - 1, escribir(X,Y1,L1).

La letra de ese codigo es la siguiente:
Se tiene una lista de pares de numeros ejemplo [[1,2],[23,4],[4,1]] estas listas se consideran como una representacion compacta de una lista de numeros. A partir de una lista compactada se obtiene una lista no compactada de la siguiente manera
-Se sustituye cada par [a,n] por una repeticion del numero a tantas veces como lo indica el numero n.

La solucion de la lista anterior seria la lista [1,1,23,23,23,23,4]

Para resolver este problema no puedo usar acumuladores

Desde ya muchas gracias
Título: Re: Problema Con Codigo De Prolog
Publicado por: Dykaios en Sábado 12 de Enero de 2008, 03:23
Ya lo resolvi muchas gracias de todas maneras.