FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Programa de números repetidos?
Hola, Necesito hacer un programa en delphi 5 que me diga cuantos números repetidos hay entre dos Edits..
Ejemplo: En el primer edit coloco: 1784 En el segundo edit coloco: 1967 El resultado seria que hay dos repetidos, los cuales serian en este caso el 1 y el 7 ... Esto me tiene un poco confundido.. E intentado muchas combinaciones con el COPY y mediante bucles... pero nada.. Podrian ayudarme, por favor.. |
#2
|
||||
|
||||
Buenos días amigo TheBlackUnix
Con gusto te ayudamos, pero no es política del club "hacer la tarea"... pues para esto existen "sitios especializados" (como: www.rincondelvago.com ) Nosotros te podemos ayudar revisando el código que ya has intentando y diciendote en que estas fallando... por ahora te reomiendo: Búsquedas: http://www.clubdelphi.com/foros/search.php "La guia de estilo" (normas del club) http://www.clubdelphi.com/foros/guiaestilo.php "La otra guia de estilo" http://www.clubdelphi.com/foros/show...24&postcount=6 Es importante siempre que indiues la versión de Delphi que manejas y que conocimeintos de programación tienes... No lo tomes como un regaño, son solo sugerencias, para servirte mejor, Un saludo, |
#3
|
|||
|
|||
xDDD no hay problema.. Mira mi codigo hasta ahora es así..
Actualmente el programa me dice cuanto repetidos hay, pero solo si se encuentran en el mismo orden.. Osea si esta por ejemplo así: Edit1 : 1989 Edit2: 1989 Numero de repetidos : 4 Pero yo busco que me lo muestre aun esten en diferentes orden.. En cuanto a la versión de Delphi, tengo la V5.. Mi codigo actualmente: a:=0; IF copy(edit1.text,1,1)= copy(edit2.text,1,1) then a:=a +1; IF copy(edit1.text,2,1)= copy(edit2.text,2,1) then a:=a +1; if copy(edit1.text,3,1) = copy(edit2.text,3,1) then a:=a+1; if copy(edit1.text,4,1) = copy(edit2.text,4,1) then a:=a+1; edit3.text:=inttostr(a); Última edición por TheBlackUnix fecha: 28-03-2011 a las 18:04:20. |
#4
|
||||
|
||||
necesitas tener un arreglo de dos dimensiones, donde guardes el número y las veces que se ha repetido. Algo así:
[0, 2] que significa que el número cero se ha encontrado dos veces. [1, 0] el uno no se ha encontrado [2, 3] el dos está tres veces y así hasta el nueve. Y para saber los números necesitas extraer de la cadena del edit, de uno por uno, así que tienes que utilizar un FOR para recorrer la cadena. Luego necesitas el número donde puedes usar un COPY y por último necesitas comparar ese número, ese proceso lo puedes hacer utilizan on CASE. Código:
Desde i = 1 hasta el final de la cadena Case Cadena[i] Cuando sea 0 entonces Arreglo[0] = Arreglo[0] + 1 Cuando sea 1 entonces Arreglo[1] = Arreglo[1] + 1 .... hasta el nueve.
__________________
|
#5
|
||||
|
||||
Pues si quieres seguir con tu metodología, tendrías que hacer una comparación por cada posición que tengas, de forma tal que obtendrías un producto cartesiano...
comparar posicion 1 con posicion 1 comparar posicion 1 con posicion 2 comparar posicion 1 con posicion 3 comparar posicion 1 con posicion 4 comparar posicion 2 con posicion 1 .... Lo cual no aconsejo, ya que para esto existen las estructuras como FOR o While... Adicionalmente hay que tener en cuenta que las cadenas de texto en Pascal permiten acceder a cada uno de sus carcateres de forma individual, como si fuera un vector, asi:
Según lo anterior, tu solución seria algo como:
bye. |
#6
|
|||
|
|||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Registros repetidos | alegarreta | SQL | 6 | 16-04-2010 20:59:51 |
Contar numeros repetidos en un ListBox | byfali | Varios | 4 | 23-02-2008 10:01:22 |
Registros repetidos | enecumene | PHP | 9 | 01-02-2007 18:17:04 |
Datos repetidos... SQL... | emeceuy | Conexión con bases de datos | 6 | 18-08-2003 15:10:41 |
|