Título: ordenar reguistros Publicado por: mapers en 15 Enero 2011, 04:14 am buenas señores desearia poder termianr este programa necesito una idea de como poder eliminar un arreglo de estructuras segun mi codigo
Código
Título: Re: ordenar reguistros Publicado por: Khronos14 en 15 Enero 2011, 13:38 pm Hola mapers, estás usando un método de creación de listas un poco enrevesado. Te recomiendo que busques información sobre listas enlazadas o arrays dinámicos. Son 2 métodos bastante sencillos de crear listas, ambos se hacen con punteros.
Aquí te dejo una clase que hice para borrar y añadir strings: http://foro.elhacker.net/programacion_cc/problema_con_arrays_dinamicos-t315393.0.html;msg1562040#msg1562040 Para tu problema, creo que lo más sencillo sería hacer esto. Por ejemplo: Tienes 12 alumnos en la lista y quieres eliminar el número 6, el algoritmo sería el siguiente. Harías un bucle que moviera el alumno número 7 a la posición del 6, la del 8 al 7, etc.. y al final reducirías el número de alumnos. Saludos. Título: Re: ordenar reguistros Publicado por: N0body en 15 Enero 2011, 18:32 pm Si recién estás empezando con vectores (como puedo notarlo) no te recomiendo meterte ahora en listas enlazadas...
Mejor sigue el consejo del algoritmo sencillo que te describió Khronos14... Este parece un clásico problema de escuela secundaria... Algunas consideraciones: -En tu función burbujas usas variables no declaradas (contadores como w) -Yo había aprendido que el método burbuja era el que comparaba j con j+1... ahora veo que muchos ponen ésto como método burbuja, me gusta más el otro... es factible hacer más optimizaciones (en la wikipedia está explicado en pseudocódigo como yo digo, pero implementado en C de la manera que tu pones) -Vos querés ordenar por edades y hacés esto: Creas un nuevo arreglo de enteros donde copias las edades Las ordenas Buscas las edades del arreglo ordenado (en el orden en que aparecen) en el vector de estructuras y vas imprimiendo. Por que no directamente ordenas el vector de estructuras ¿Sabías que podés igualara dos estructuras? Osea, hacer la siguiente asignación... Código Así compararías x[ i].edad y x[j].edad e intercambiar x[ i] y x[j]... Porque sino luego tienes que hacer la búsqueda, es un método muy poco óptimo... Además de los problemas que aquerrea que tengas edades iguales... (en ese caso las mostraría muchas veces) |