SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: herley en Martes 29 de Marzo de 2011, 22:58

Título: lista ordenada
Publicado por: herley en Martes 29 de Marzo de 2011, 22:58
saludos    me piden hacer un proyecto de una lista ordenada con una estructura que contenga nobre, ced y notas de un estudiante y poderlas ordenar por los tres criterios(nombre , cedula, notas); me pueden colaborar Muchas gracias
Título: Re: lista ordenada
Publicado por: m0skit0 en Martes 29 de Marzo de 2011, 23:00
Bienvenido a los foros  ^_^

Aquí no se hace la tarea. Expón lo que tengas hecho y dudas concretas que tengas.

Un saludo
Título: Re: lista ordenada
Publicado por: Leber en Martes 29 de Marzo de 2011, 23:28
Si no sabes cuantas listas tendrás, puedes hacer con edd (estructuras de datos dinámicas)
Algo asi:

Código: C
  1. struct ficha {
  2.     char nombre[20];
  3.     char apellido[20];
  4.     unsigned int nota;
  5.     struct ficha *next;
  6. };
  7.  

Si lo sabes, puedes hacer un array de estructuras.
Después de entrar todas las fichas que necesites, puedes ordenarlo:

Algo como esto:

Código: C
  1. if (ficha[0].nota > ficha[1].nota) {
  2.       ficha_auxiliar = ficha[1];
  3.       ficha[1] = ficha[0];
  4.       ficha[0] = ficha_auxiliar;
  5.   }
  6.  

Ficha auxiliar sería un tipo de ficha temporal, usarlo solo como auxiliar. Ese método seria por bubblesort, que aunque no es el más eficiente, sirve para esto.

Saludos