Los foros del Guille

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

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

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

14/ene/2006
En la página de inicio se muestra la bandera de tu país, o al menos debería mostrarse si es que tu dirección IP está en mi base de datos. Si no te muestra la bandera, seguramente se mostrará un link para que me digas que IP estás usando y de que país eres... si es así, te agradecería que me lo dijeras.
También puedes poner la imagen de la bandera de tu país en tus mensajes, aquí te explico como.

  Foro: IA (Prolog, Lisp, etc) Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 49397 - Codigo de cantidad de variables iguales en una lista!!!!
IDAsuntoFechaNick 
49397 Codigo de cantidad de variables iguales en una lista!!!!24/07/09 19:04Mar25   
Chicos miren, implementé este código, lo que quiero que haga es que verifique si en una lista hay al menos dos elementos que

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

Pero me está dando error cuando le doy compilar,alquien 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 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ó.
Busca_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.



El error que me da al compilar es:

! ----------------------------------------
! Error 23 : Type Error
! Goal : def([],2,_3074rie_gafas

Aborted
| ?-

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 38 - App. iniciada: 21/11/2017 10:44:15 GMT - La hora GMT del servidor es: 21/11/2017 12:05:19 GMT