[ Foro de Pascal ]

orientacion

15-Jul-2006 05:31
rodrigo antonio toro andrade
1 Respuestas

hola necesito que me ayuden a efectuar un trabajo y necesito que alguien me oriente. tengo que entregar un programa que lea una lista de nombres

y me entrege un listado de nombres y me diga cuantos de ellos son iguales, lo primero lo logre ,pero lo otro no me sale le aplique el comando if then

pero no pasa nada........ por favor ayuden me es para el dia lunes osea es un poco urgennnteeeeeeee.......


18-Jul-2006 14:04
Nacho Cabanes (+83)

Para el lunes?  Entonces me temo que llego tarde...

Aun así, hay varias formas de saber si un dato está repetido. La más sencilla, pero que también suele ser la menos eficiente, consisten en comparar cada dato con todos los que hay a continuación, y ver si es igual. Algo como esto:

FOR i := 1 TO longitud-1 DO
  FOR j := i+1 TO longitud DO
     IF dato[i] == dato[j]  THEN  (contar, mostrar, etc)

Si hay que hacer muchas búsquedas, suele ser más eficiente ordenar primero los datos. Así necesitas comparar sólo cada dato con el siguiente, usando un único FOR para buscar (coste n, en vez de coste n al cuadrado).

(Datos ordenados)
FOR i := 1 TO longitud-1 DO
     IF dato[i] == dato[i+1]  THEN  (contar, mostrar, etc)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)