UTNianos

Versión completa: [Aporte] - Algoritmos y Estructura de Datos - Final 25/02/2012
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Gente, paso el final de la fecha de hoy

Por lo que vi, ha aprobado un poco más de la mitad de la gente que se presentó.

Poquito molesto el final; los archivos no aclaraban si tenían orden, así que la estrategia propuesta fue leer los archivos de entrada, cargar en la lista, y después ordenar [fíjense que hay que grabar ordenado según un dato que se obtiene al procesar los dos primeros archivos, ojo]

Pueden leer los archivos y guardar en una lista, y una vez que tienen calculada la cantidad de visitantes, insertan en otra lista, ordenadamente según este criterio. De ahí en más van suprimiendo los nodos para ir grabando en el nuevo archivo

Los nodos tenían:
- CodEmpresa (4 bytes)
- Un vector [1..5] of byte (los números de piso) - (5 bytes)
- CantVisitantes (4 bytes)
- siguiente (4 bytes)
"Poquito molesto el final; los archivos no aclaraban si tenían orden"

si no aclara es por que no tienen orden.

igual buen aporte=D
(25-02-2012 15:41)CarooLina escribió: [ -> ]"Poquito molesto el final; los archivos no aclaraban si tenían orden"

si no aclara es por que no tienen orden.

igual buen aporte=D

Justamente (puse un punto y coma, no dije que era molesto porque no tenia orden, sino que era molesto en sí...)
Estamos muy acostumbrados a que esté un poco explícito ese tema
Como cuando te dicen: "está ordenado por TAL cosa" (y uno tiene que presuponer que es orden ascendente) ;)

A fines prácticos como después hay que grabar según un dato que de buenas y primeras no tenés calculado, el orden del comienzo es como al cuetín
alfin aprobe algoritmos =D

final raro para leer las primeras veces pero cuando entendes bien lo que te piden y como te lo piden me resulto sencillo, dejo 2 formas para resolver la parte de cargar el nuevo archivo:

1- una vez recorrido todo el archivo de Visitantes (donde vas actualizando en el nodo el campo CantVisitantes), la lista va a estar llena. Entonces se puede sacar de esa lista e InsertarNodo en una nueva lista ordenada por CanVisitantes y listo, despues es sacar directamente de la nueva lista para grabar en archivo.

2- (lo que hice yo =P), una vez cargada toda la lista, mediante punteros auxiliares hice el procedimiento BuscarMaximoEnLista, donde busque el máximo valor de CantVisitantes. A medida que buscaba el Maximo, sacaba el nodo y lo grababa en el archivo.


espero que sirva, saludos!!
(25-02-2012 16:22)alee90 escribió: [ -> ]alfin aprobe algoritmos =D

final raro para leer las primeras veces pero cuando entendes bien lo que te piden y como te lo piden me resulto sencillo, dejo 2 formas para resolver la parte de cargar el nuevo archivo:

1- una vez recorrido todo el archivo de Visitantes (donde vas actualizando en el nodo el campo CantVisitantes), la lista va a estar llena. Entonces se puede sacar de esa lista e InsertarNodo en una nueva lista ordenada por CanVisitantes y listo, despues es sacar directamente de la nueva lista para grabar en archivo.

Esto fue lo propuesto por la cátedra

(25-02-2012 16:22)alee90 escribió: [ -> ]2- (lo que hice yo =P), una vez cargada toda la lista, mediante punteros auxiliares hice el procedimiento BuscarMaximoEnLista, donde busque el máximo valor de CantVisitantes. A medida que buscaba el Maximo, sacaba el nodo y lo grababa en el archivo.


espero que sirva, saludos!!

Esto hicieron varios, por los que llegué a mirar
Gracias nanu por el final!!! =P.
Yo lo que hice para resolverlo fue armarme la lista con el contenido del archivo de empresas + un campo para las visitas (del tipo longint) y me da perfecto (de hecho me da exactamente 17 bytes).
Después todo lo que restaba era recorrer el archivo de visitantes y por cada visitante localizar el nodo en el que estaba y ahí incrementar el campo de las visitas (que previamente había inicializado en cero).Las listas se pueden recorrer y ahi incremente el campo cantidad de visitas del nodo correspondiente (aunque nunca me toco un final donde tengas que modificar un campo de una lista,pero buen).
De ahí cuando grababas el archivo de salida,lo unico que te quedaba era liberar la lista y usar solo el campo de codigo de empresa y la cantidad de visitas.


Maldición,ojala hubiera podido darlo en tu fecha xD.
URLs de referencia