UTNianos

Versión completa: [Algoritmos]Final 16/02/2013
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2 3 4
Les dejo el final de HOY, recién salido del horno =)
Uh, Aye, giralo, jajajaja.

Con tu permiso, lo indexo al topic de finales, puedo, puedo? =D

Dato de color: Vieron que dejaron usar la biblioteca que les pasé? ;)
Indexalo, sisi =)

Yo lo veo bien Confused Querés girarlo vos? =)

Lo puse adentro de un zip porque no podía girarlo y el primer post se hacía muy largo =P

Off-topic:
Quedó mejorcito ahí zippeado =)
Muchas gracias por el aporte!
Si alguien aporta alguna manera de resolverlo, se lo agradecería! Tengo un par de ideas pero no me cierran, me cuesta elegir las estructuras.Saludos!
(17-02-2013 17:14)nicoadot escribió: [ -> ]Si alguien aporta alguna manera de resolverlo, se lo agradecería! Tengo un par de ideas pero no me cierran, me cuesta elegir las estructuras.Saludos!

Tenes que usar una vector de 45 (15 rubros x 3 categorías) que contenga los siguientes campos:
- Puntero a lista (4byte)
- acumulacion de postulantes (byte o word) (1 o 2 byte)
- Rubro (Str 15 = 16 byte)
- Categoria (str 15 = 16 byte)

Peso total del arreglo= 1710 byte maximo

Los nodos tenian que ser de 12 byte maximo asi que hacemos lo siguiente
- Ptr sgte. (4byte)
- id.postulante (2 byte)
-cant vot (2 byte)
- referencia (campo para completar con el valor del filepos(postulantes) - 1 que nos indicaría la referencia en el archivo de postulantes para acceder a los datos de proyecto y nombre que por cuestiones de tamaño eran imposibles de meter en ninguna estructura). 2 byte usando word.

Para sacar los nominados yo hice lo siguiente, encuadré el vector de 45 dentro de un ciclo de 1 a 45 y cree un mini vector de 3 registros con los campos: cant vot y ref. (12 bytes de peso total) entonces a la hora de saber si era nominado o no, iba leyendo de la lista, borrando y con los datos preguntaba si lo habían votado, por el sí comparaba el contenido de los cant votos con los 3 cant votos del nuevo vector, si era mayor a alguno actualizaba los datos. Al terminar con la lista, ordenaba el mini vector por cantidad de votos e iba seekeando a postulantes y guardando en nominados (esto también lo tenes que encuadrar dentro de un for y preguntando si por cada registro hay o no un nominado ya que si no lo hay vas a seekear a la posicion 0 de postulantes al pedo). A la hora de pasar a otra categoría obviamente volvía a poner el vector en 0.

Creo que con eso deberías poder sacarlo, yo cometi el error de pensar una matriz de 15 x 3 y se me complicó un montón ordenarla, asi que me tire el lance y le mande el modulo que tenias atrás para usar sin desarrollar. Me saqué un 4 raspadísimo porque llegue a los ponchazos a grabar el archivo nominados, me quede sin tiempo y le explique textualmente como se hacia para emitir, que una vez teniendo el archivos nominados, es una boludez.

Voy a ver si ahora en un rato lo paso a papel resuelto porque me quedo la espina de ir resolviendolo sin errores mentalmente mientras esperaba la nota, si hay algo que no entendiste preguntame y trato de ayudarte
Muchas gracias, te pasaste. Rindo el sabado y estoy tratando de resolver varios. suena bien tu idea, gracias otra vez
Yo lo hice de esta forma. Yo también rindo el sábado, si podés miralo así entre los dos vemos si está bien.[attachment=5741]
(18-02-2013 15:59)nicoadot escribió: [ -> ]Muchas gracias, te pasaste. Rindo el sabado y estoy tratando de resolver varios. suena bien tu idea, gracias otra vez

De nada, igualmente lo pase a hoja ayer y tuve algunas compliciones a la hora de usar el 2do vector que hice pero sale igual. Si a alguien se le ocurrió algo mejor que eso que lo comparta porque me pareció muy rebuscada mi solución jaja
Yo también rindo el sábado, y me suena a que van a tomar algo parecido..
Mañana me pongo a hacerlo y comparto mi solución con ustedes, a ver si es parecida =). Ya que yo tambien rindo el sabado, y si mantienen la forma que se evalúo en Diciembre, será el mismo enunciado y mismos Archivos donde solo se cambia la información solicitada.
Estoy respondiéndoles sobre lo que contestaron del parcial (ahí lo subo)
Pero antes quería decir una cosa, bien grande y en color para que no se lo olviden:

¡¡NO ESPECULEN!!
Gente, una consulta, puede ser que el archivo rubros no se utilice para nada?, ya que pensando la estrategia se me ocurrio(con 2 cortes de control) cargar las categorías y los rubros al mismo tiempo que voy leyendo el archivo de postulantes, de esa forma no tendría que ordenar el array.
Tranquilamente podría ser...
No deberías tener votos a postulados de categorías que no están en el archivo de rubros

No me gusta lo del "mini vector".
O sea, pensá lo mismo con las mismas estructuras (sin ese vector de yapa =P)

* Leo el archivo de rubros-categorías y cargo mi vector

* Leo el archivo de votos (sin orden) while ~eof:
- Cuando leo el registro, busco en el vector ese rubro-categoría (el cual existe) e inserto un nodo en la lista correspondiente a ese rubro-categoría. Previamente tengo que fijarme en la lista si ya tengo a ese postulante. Si lo tengo, incremento la cantidad de votos, y sino lo inserto un nuevo nodo con los datos correspondientes.

* Leo el archivo de postulantes. Como está ordenado por rubro y categoría puedo ir haciendo un cortecito de control acumulando la cantidad de postulantes en tiempo de lectura (si es que leí bien el enunciado =P)

A todo esto, me falta resolver dos cuestiones:
- Cómo inserto los nominados en el archivo
- Cómo cuento los nominados

Para insertarlos:
Podría ir suprimiendo e ir quedándome con los registros cuyo campo cantidadVotos sea máximo. Con esas tres posiciones voy al archivo de postulantes y me traigo la info para el archivo de nominados

Lo que me parece un poco tonto, o capaz no entiendo lo que quiso decir el docente/ayudante que escribió esto, es el tema de contar los nominados. Por lo que yo entiendo, los 3 más votados por categoría, son los nominados, así que cada terna (valga la redundancia) tendría tres nominados, me explico? Por ende, para qué pirulines necesitaría acumular eso? xD

Es una idea medio vaga que se me ocurrió mientras estudiaba otras materias xD
Probablemente si lo pienso de nuevo, me salga algo más refinadito; esto es como un bocetito de estrategia digamos.

Aparte no hablé de ningún ordenamiento de campos ni nada; asumo que es algo que no hacía falta entrar en detalle

Saludos!
Páginas: 1 2 3 4
URLs de referencia