06-01-2012, 17:12
Haciendo el final de 13 de febrero, que lo subo asi no hay problemas...
Mi estrategia, pero extendida..
Crear dos listas
1) Lista con sublista
Lista
Username - sublista(puntero) - sigu(puntero = 16 (8 +4 +4)
Sublista
Fecha reporte - Idfile -Poskill - Sigu = 4 + 4 + 4 +4 = 16
2) Indexar
Idfile - Posfile -cantreportes - Sigu = 12
La primer lista es la que va a mostrar cosas exclusivas del listado y las que faltan las saco de "indexar" con la posicion y accesos directos al archivo "file"
Programa Principal:
Inicializar ( Creo las dos listas)
Procesar( Armo el listado y dps lo muestro)
Inicializar es simplemente lista<--- nil, por eso sigo con
Procesar
-Abri los tres archivos (asign y reset)
-Indexe el primero "file"
-Poskill <--- 0 (una de las cosas que te pide en el listado es el motivo, este son 100caracteres... no entra ni mamado en el nodo entonces hay que aceder a este en algun momento)
-Solo leo Kill, ya que es el que tiene los reportes... ademas dice que "un solo registro por cada idfilepub reportado. Y eso me dio a entender que por mas que se reporten 555 veces solo aparece un registro ademas de que cada idfilepub es unico.
-Mando una busqueda binaria al archivo Filexuser, busco por idfilepub y me traigo el username y ek idfile. Este segundo en ningun lado dicen que es pero en el medio del texto te dice " que un archivo puede pertenecer a muchos usuarios" con lo que, ese idfile puede repetirse, ya que se pudo haber subido muchas veces pero idfilepub nunca va a ser el mismo.
Como te pide en el listado que pongas los que fueron reportados mas de una vez, a mi se me ocurrio como ven en la estructura en "indexado" poner cantreportes 1 y 2 va a tener. Sirve para ver cuales fueron reportados mas de una vez, por que cada idfile puede coincidir con muchos, pocos o ningun idfilepub entonces cada vez que coincida si es la primera vez pongo uno y si no pongo dos. (nose si se entiende)
Lo cual esta idea me parece muy engorrosa( es la unica que se me ocurrio tambien y no quiero que si me pasa algo asi me bochen)
-Cuando yo me traigo ese idfile y username, me tengo que fijar si (para agregar a la lista y sub) si es la primera vez o no que ingreso el username y tambien este idfile segun la fecha. Con lo cual tengo que ingresarlo ordenado y usar las busquedas tambien.
De esa forma haria el llenado de las 3 listas, pero tendria que llamar a un metodo mostrar:
Donde voy a tener que ir recorriendo la primer lista pero solo mostrando aquellos que en index tengan un 2 en cantreportes. ESto requiere busquedas en lista y sub.
Como dije no me parece mal, pero si un tanto largo... no se me ocurre otra forma.
Mi estrategia, pero extendida..
Crear dos listas
1) Lista con sublista
Lista
Username - sublista(puntero) - sigu(puntero = 16 (8 +4 +4)
Sublista
Fecha reporte - Idfile -Poskill - Sigu = 4 + 4 + 4 +4 = 16
2) Indexar
Idfile - Posfile -cantreportes - Sigu = 12
La primer lista es la que va a mostrar cosas exclusivas del listado y las que faltan las saco de "indexar" con la posicion y accesos directos al archivo "file"
Programa Principal:
Inicializar ( Creo las dos listas)
Procesar( Armo el listado y dps lo muestro)
Inicializar es simplemente lista<--- nil, por eso sigo con
Procesar
-Abri los tres archivos (asign y reset)
-Indexe el primero "file"
-Poskill <--- 0 (una de las cosas que te pide en el listado es el motivo, este son 100caracteres... no entra ni mamado en el nodo entonces hay que aceder a este en algun momento)
-Solo leo Kill, ya que es el que tiene los reportes... ademas dice que "un solo registro por cada idfilepub reportado. Y eso me dio a entender que por mas que se reporten 555 veces solo aparece un registro ademas de que cada idfilepub es unico.
-Mando una busqueda binaria al archivo Filexuser, busco por idfilepub y me traigo el username y ek idfile. Este segundo en ningun lado dicen que es pero en el medio del texto te dice " que un archivo puede pertenecer a muchos usuarios" con lo que, ese idfile puede repetirse, ya que se pudo haber subido muchas veces pero idfilepub nunca va a ser el mismo.
Como te pide en el listado que pongas los que fueron reportados mas de una vez, a mi se me ocurrio como ven en la estructura en "indexado" poner cantreportes 1 y 2 va a tener. Sirve para ver cuales fueron reportados mas de una vez, por que cada idfile puede coincidir con muchos, pocos o ningun idfilepub entonces cada vez que coincida si es la primera vez pongo uno y si no pongo dos. (nose si se entiende)
Lo cual esta idea me parece muy engorrosa( es la unica que se me ocurrio tambien y no quiero que si me pasa algo asi me bochen)
-Cuando yo me traigo ese idfile y username, me tengo que fijar si (para agregar a la lista y sub) si es la primera vez o no que ingreso el username y tambien este idfile segun la fecha. Con lo cual tengo que ingresarlo ordenado y usar las busquedas tambien.
De esa forma haria el llenado de las 3 listas, pero tendria que llamar a un metodo mostrar:
Donde voy a tener que ir recorriendo la primer lista pero solo mostrando aquellos que en index tengan un 2 en cantreportes. ESto requiere busquedas en lista y sub.
Como dije no me parece mal, pero si un tanto largo... no se me ocurre otra forma.