Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #27  
Antiguo 17-04-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Hola, a ver me explico otra vez espero que esta vez mejor. Comenzaré por explicar el funcionamiento del programa, lo que espero que haga.

1º En el combo box, tengo una serie de valores que van de 5000 a 10.000.000 (aunque realmente como máximo uso 2.000.000).
2º En función de este valor, el programa genera x numero de combinaciones aleatorias y las almacena en un listview.
3º De entre todas esas combinaciones generadas, que pueden ser 5000 o 5 millones, busca los 6 números que mas veces han salido y calcula sus permutaciones (de ahí que combinatoria ordene esos 6 números). En 2 listbox genera las permutaciones de 6 y 5 numeros respectivamente
4º Las permutaciones almacenadas en per, que son de 5 números, las compara con lista3.
5º En otro listview (lista3), carga un archivo csv con sorteos ya jugados y a partir de las permutaciones del listbox "per" va comparando 1 a 1 con cada fila de ese listview
6º El programa tiene 3 métodos de busqueda: fuerza bruta, busqueda del 5 y selectiva por sorteos ya jugados.
6.1. El metodo "fuerza bruta" compara cada permutacion en base a 6 números con cada una las filas del listview que muestra las combinaciones aleatorias, es decir busca cada permutacion entre 5 mil.... 5mill de combinaciones, comparando. Si encuentra los 6 números de la permutacion me lanza un messagebox y me indica en que fila del listview aparece. Este método es muy tedioso y lento por que encontrar 6 numeros exactos es casi imposible por lo que realmente apenas lo uso.
6.2 Método "búsqueda del 5" básicamente hace lo mismo que el método anterior pero en lugar de 6 números con sus coincidencias, busca 5 con lo que las posibilidades de encontrarlos es mayor.
6.3 Método de "busqueda selectiva", realmente este método no tiene mayor importancia por que al igual que el método anterior, busca 5 coincidencias sobre los sorteos ya jugados. Tanto este método como busqueda del 5, usan las permtuaciones del listbox "per" de 5 números. De encontrarlos, tanto para el punto 6.3 y 6.2 me indica donde se encuentra esas coincidencias en los listview (lista [combinaciones aleatorias] o lista3 [combinaciones de sorteos previos]).

Ahora la teoría, mi teoría que obviamente no tiene que ser válida pero es la que quiero explotar:
Si el método de búsqueda del 5 encuentra 5 coincidencias en alguna de las filas entre el millon de combinaciones aleatorias, la aceptaría como válida estadisticamente y es la que jugaría.
Esto es válido para "Búsqueda selectiva", que es a la que pertenece todo el código aquí expuesto. Para la busqueda del 5 es lo mismo salvando las diferencias en cuanto a nombre de controles y variables.

En cuanto a lo que dices bucanero, es cierto lo del progress bar y lo de la variable, paso a corregirlo. En cuanto a combinatoria, más arriba expliqué su función.
Sobre la parte del código que no muestro. Esa parte la he modificado para que simplemente muestre un mensaje diciendo que no encontró esas 5 coincidencias búscadas. Sino son 5, el programa las ignora.

Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.
Responder Con Cita
 



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
sumando valores de un listview danielmj Varios 28 14-11-2014 21:52:30
VALORES FANTASMAS FIREBIRD 2.1 valores Grandes ASAPLTDA Firebird e Interbase 17 02-12-2012 12:09:02
Rellenar con 0.... buitrago Varios 6 17-11-2011 20:02:53
¿Cómo insertar una imágen en un lisbox o un memo? Acuarius3000 Gráficos 3 27-06-2005 08:44:53
arastrar archivos a un lisbox gulder C++ Builder 3 05-05-2005 13:31:50


La franja horaria es GMT +2. Ahora son las 14:49:53.


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