Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 20
sinalocarlos Va por buen camino
Es cierto no me explique bien

dado el conjunto
Cita:
Ident Valor
1 [ 4 ]
2 [ 13 ]
3 [ 18 ]
4 [ 25 ]
5 [ 32 ]
6 [ 36 ]
7 [ 51 ]
8 [ 68 ]
9 [ 69 ]
10 [ 76 ]
busco aquellos identificadores cuyo valor es 96 que para este ejemplo serian:
[1,5,7] (no calcule para ver si existen mas) entonces seria sacar todos aquellos subconjuntos en donde la suma de su valor sea dicha cantidad

espero haberme explicado bien esta ves

saludos
Responder Con Cita
  #2  
Antiguo 24-05-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Vamos a ver si entendí...

El usuario quiere saber como se puede sacar el 96, de entre los datos que tienes en la lista.

Según tu, con los elementos 1, 5 y 7, cuyos valores son 4, 32 y 51 sería el resultado esperado... el problema es que esto no me da 96, así que no se si estoy entendiendo bien.

__________________

Responder Con Cita
  #3  
Antiguo 24-05-2007
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 20
sinalocarlos Va por buen camino
vaya que no gano para erratas este dia

Tienes razon en lo que dices ContraVeneno, son 2,5,7 cometi un error al anotar 1,5,7

Pero tu supuesto de que es lo que se quiere es el correcto, alguna idea??

Modificando un codigo encontrado en una pagina de la cual les devo el link tengo esta funcion:
Código Delphi [-]

function Tmain_frm.SUMASUB(X:Tarr; k: integer; s:real; r:real; M:real):boolean;
var
        res:boolean;
begin
res:=FALSE;
 if (s = M)  then
 begin
    showmessage('lo encontro');        //        PRINT(A[])
res:=TRUE;
end
 else
 begin

         if (s + X[k].valor <= M)  then
         begin
                X[k].elegido := 1;
                SUMASUB(X,k + 1,s + X[k].valor,r - X[k].valor, M)
         end
         else
         begin
                 X[k].elegido := 0;
                 if ((s + r)>= (X[k].valor )) and ((X[k].valor ) <= (M))  then
                        SUMASUB(X, k + 1, s, r - X[k].valor, M)
         end;
 end;
end;

X: arreglo de registros con los campos elegido, valor y el identificador
k: empieza en 1 y sirve como contador
s: aculado del valor sumado
r: total del valor de los elementos que quedan por revisar
M: valor buscado

Saludos

Última edición por sinalocarlos fecha: 24-05-2007 a las 01:55:30.
Responder Con Cita
  #4  
Antiguo 24-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
y digo yo ¿no sería posible cambiar los "Valores".

En programación el 2 elevado a N da mucho juego, con él puedes conseguir fácilmente esos valores que forman la suma.
Código:
Ident Valor
1 [ 1 ]
2 [ 2 ]
3 [ 4 ]
4 [ 8 ]
5 [ 16 ]
6 [ 32 ]
7 [ 64 ]
8 [ 128 ]
9 [ 256 ]
10 [ 512 ]
Tampoco intentes buscar otra posible suma para obtener el 96, en este caso usaríamos 6,7

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Suma de 100 tablas dbf Jucho69 Conexión con bases de datos 5 18-01-2007 20:20:35
suma con decimales Jheysson13 SQL 2 28-11-2006 09:02:26
Suma de un campo silviodp Conexión con bases de datos 13 11-06-2004 16:51:23
suma de un campo sql noe SQL 16 19-01-2004 18:52:54
Suma de agrupados... Tanix Impresión 2 19-01-2004 12:45:45


La franja horaria es GMT +2. Ahora son las 09:45:15.


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