Edad: 36
Registrado: 10 Ago 2006
Mensajes: 808
Ubicación: encadenado al ánima
Carrera: Informática
Si la tabla es un array de records, básicamente agarrás el algoritmo de ordenamiento para vectores y reemplazás el vector por la tabla: donde se comparaban los elementos del array ahora comparás el segundo campo del record que hay en el elemento, y donde se hacían asignaciones de elementos pasás a asignar records.
- Creas tu Array de 2 dimensiones (tabla de 3x4 en este caso)
Ahora ponés el código del burbujeo con estos cambios:
- En la parte de la condición, en vez de evaluar valores en un vector unidimensional (lista), lo haces en una tabla: PERO EN UNA COLUMNA DETERMINADA DE LA TABLA. Te quedaria siempre una comparación del estilo:
if TABLA[i,2] > TABLA[i+1,2]...
- Y en la parte del burbujeo donde reordenas usas un
For j := 1 to 4 Do
De esta forma, si la desigualdad EN LA COLUMNA 2 te dice que el orden debe invertirse, toda la fila se ve afectada.
(No tengo el código del burbujeo a mano... sino te lo pondría)
Lo digo por las dudas.. ojo cuando ordenas una matriz.. acordate de intercambiar todos los elementos de la fila y no solo aquel que usaste como comparador
No puse el ejemplo porque nunca toque Pascal (Que verguenza ), pero con C sale como trompada...
Ale_1987 escribió:
al final lo resolvi de una manera poco ortodoxa pero al menos hace lo que tiene que hacer
Jajaja... Me hace acordar al TP que tuve que hacer para Programación Estructurada de 1er año...
Eran 10 case, donde cada case tenia otros 10 case anidados (El código era solo eso, con punteros a las funciones y obviamente las funciones)...
Cuando se lo llevo al tipo para que lo pruebe, no corría.
Se sienta, mira el código y me dice: "Pero claro boludo, si te está comiendo toda la memoria."
No creo que haya sido eso porque mi máquina lo corría lo más bien, y esa máquina (Que era cuasi nueva) se tildaba... Capaz que un problema del compilador...
La cosa es que andaba en mi casa y con eso yo estaba contento...
Solución poco ortodoxa (Que después termine cambiando por una estructura de IF's como debía ser hecha) que hacía su trabajo...
Ver tema siguiente Ver tema anterior Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker 365 Attacks blocked.