Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2011
TheBlackUnix TheBlackUnix is offline
Registrado
NULL
 
Registrado: mar 2011
Posts: 3
Poder: 0
TheBlackUnix Va por buen camino
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..
Responder Con Cita
  #2  
Antiguo 28-03-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
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,
Responder Con Cita
  #3  
Antiguo 28-03-2011
TheBlackUnix TheBlackUnix is offline
Registrado
NULL
 
Registrado: mar 2011
Posts: 3
Poder: 0
TheBlackUnix Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 28-03-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
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.
algo así mas o menos, a menos que alguien tenga una mejor idea...
__________________

Responder Con Cita
  #5  
Antiguo 28-03-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
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:

Código Delphi [-]
Var
 CadenaDeTexto: String;
....
 CadenaDeTexto:='Hola';
 ShowMessage(CadenaDeTexto[1]) ; // lo cual mostraria un mensaje con la letra"H" (la primera posición es uno)

Según lo anterior, tu solución seria algo como:

Código Delphi [-]
  For i:= 1 to 4 do
   for j:= 1 to 4 do
      if Edit1.text○[i]=Edit2.text[j] then
          contadorderepetidos:= contadorderepetidos +1;

bye.
Responder Con Cita
  #6  
Antiguo 28-03-2011
TheBlackUnix TheBlackUnix is offline
Registrado
NULL
 
Registrado: mar 2011
Posts: 3
Poder: 0
TheBlackUnix Va por buen camino
Cita:
Empezado por gatosoft Ver Mensaje
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:

Código Delphi [-]
Var
 CadenaDeTexto: String;
....
 CadenaDeTexto:='Hola';
 ShowMessage(CadenaDeTexto[1]) ; // lo cual mostraria un mensaje con la letra"H" (la primera posición es uno)

Según lo anterior, tu solución seria algo como:

Código Delphi [-]
  For i:= 1 to 4 do
   for j:= 1 to 4 do
      if Edit1.text○[i]=Edit2.text[j] then
          contadorderepetidos:= contadorderepetidos +1;

bye.
Gracias !!!! Pude resolver mi problema..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 16:17:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi