Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Prolog > ayuda en prolog
-Foros de debate

Prolog
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

ayuda en prolog
Enviado por martin el día 31 de mayo de 2006

Por favor!!, necesito ayuda sobre un programa en prolog. Tengo que hacer girar la lista hacia la derecha y no me sale (rotate), el giro hacia la izquierda muy bien.

Fuente
rotate(L1, R, L2, i ) :- rotate_i( L1, R, L2 ).
rotate(L1, R, L2, d ) :- rotate_d( L1, R, L2 ).

rotate_d([B|C],A,D) :-
dividir(A, [B|C], E, F),
concatenadas(F, E, D).

rotate_i([B|C],A,D) :-
dividir(A, [B|C], E, F),
concatenadas(E, F, D).

dividir(A, [B|C], D, E) :-
divide_lista(A, [B|C], D, E, 0).

divide_lista(A, [B|C], [B|C], [], D) :-
D>=A.
divide_lista(A, [B|C], D, [B|E], F) :-
G is F+1,
divide_lista(A, C, D, E, G).

concatenadas([], A, A).
concatenadas([A|B], C, [A|D]) :-
concatenadas(B, C, D).

 

Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network