Ver Mensaje Individual
  #5  
Antiguo 22-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Reputación: 20
Bauhaus1975 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que así es casi imposible poder ayudarte
OK (Gracias por la ayuda). Voy a responderte a algunas de tus dudas e intentaré ponerlo más claro, pero ya verás que al ahorrarme poner todo el codigo lo que hago es simplificar la exposición.

Cita:
Empezado por Casimiro Notevi Ver Mensaje
SetLength(listaArray,0); ¿cero?, entonces no ingresarás nada aquí,
Sí, si se insertan datos. En la llamada a lista2Array se pasan los nodos de lalista de punteros a listaArray (pasar listaPunteros a Array) -> Al final del blucle.

for i:=o to n do ¿qué es 'o' y 'n'?

perdón '0' y 'n', no es relevante, simplemente el proceso se repite. en el proceso real i es un año de una lista de [añoInicio..añoFin].

listaPunteros := generaLista(T); ni idea de lo que hace esa función

etc. a partir de una tabla 'T': 3x14, cada celda tiene un valor de probabilidad 'p'. Bien pues la función genera todas las combinaciones de combinar 1 columna de las 14 filas.
Lo importante es que devuelve 3 elevado a 14 elementos enlazados en una lista de punteros con esos valores de probabilidad. Luego esa lista es ordenada, para tener toda la lista de valores de probabilidad ordenados de mayor a menor, por último se pasa de la lista de punteros a array (con la susodicha función lista2Array()).

No sé si comentar el código mucho mejor... pero creo que poniendo todo el tocho, al ser un tema de cálculo, va a ser más dificil de entender.
La clave está en ver como liberar la memoria en la lista de punteros y array en cada iteración... Que me da la sensación que aunque haga el 'Dispose' a la lista de punteros, el recolector de memoria o gestor no hace uso de la memoria (no sé hasta cuando)..

Saludos.

Última edición por Bauhaus1975 fecha: 22-12-2010 a las 20:04:47.
Responder Con Cita