Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

elGuille.hosting: Ofertas de alojamiento
posiblemente los mejores precios
¡¡¡ Ahora con el doble de casi todo !!!

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

24/mar/2007
IMPORTANTE Por favor, cuando hagas una consulta, comprueba si te han respondido, y en caso de que la respuesta sea satisfactoria, indicalo pulsando en el botón de que esa respuesta es la correcta. Es lo menos que debes hacer, ya que así más gente sabrá que esa respuesta contestaba a tu duda.
Gracias.

  Foro: IA (Prolog, Lisp, etc) Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 49404 - Ayudenme en este codigo Please!!!!!!!!!!!!!!!!1
IDAsuntoFechaNick 
49404 Ayudenme en este codigo Please!!!!!!!!!!!!!!!!125/07/09 14:31Mar25   
Chicos Implementé este código, lo que quiero que haga es que verifique si en una lista hay al menos dos elementos que

sean iguales, a la vez que encuentre al menos dos iguales quiero que salga y deje una variable C igual a 1.

Pero me está dando error cuando le doy compilar. Alguien me podría orientar en qué tengo mal en el código??

Aquí se los dejo comentariado para que vean que pretendo en cada línea.
El predicado Verifica_iguales le paso una lista y una variable C en la que debe devolver 1 si encuentra algún igual o 0 sino encuentra. Ayúdenme soy nueva en prolog!!!
Gracias de antemano.

Verifica_iguales([],0). % Si recorrió la lista completa y no hay iguales entonces C=0
Verifica_iguales(L,1):-!. % Si C = 1, encontró algo, entonces sale.
Verifica_iguales([X/L],C):- pertenece(X,L,C), %Verif igual, Dev C=1 encontró, C=0 no encontró.
Verifica_iguales(L,C). %LLama recurs a la función hasta que C=1 o L=[].


pertenece(X,[],0). %Si recorrió toda la lista y no encontró, C=0.
pertenece(X,[X|_],1):-!. %comp a X con c/a elemt de la lista, si encuen C=1 y sale.
pertenece(X,[_|L1],C) :- pertenece(X,L1,C). %Sino, C sigue sin valor, y llamo a la función recursivamente con el

%resto de los elementos de la lista.




///////////////////////////////////////////////////////////////////Hasta aquí el código

El error que me da al compilar es:

! ----------------------------------------

! Error 23 : Type Error

! Goal : def([],2,_3074rie_gafas

Aborted

| ?-

 
(c) Guillermo 'guille' Som, 2005-2018  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 110 - App. iniciada: 19/06/2018 13:27:40 GMT - La hora GMT del servidor es: 20/06/2018 17:06:11 GMT