Cita de: amchacon en 12 Febrero 2014, 03:40 AM
Bueno en C se complica un poco más el asunto al no poder usar contenedores STL. Pero tampoco mucho más.
El algoritmo ya lo tienes tú hecho realmente:
1º Leer los primeros 100 nombres.
2º Lo ordenas alfabeticamente.
3º ¿No quedan más nombres por leer? Terminado.
4º Lee el siguiente nombre.
5º ¿Va después del último nombre?. Si es así volvemos al paso 3.
6º Coges la posición donde debería ir, sobreescribes el nombre que estaba antes. Vuelves al paso 3.
El paso 6º puede ser un poco más complejo de ver, lo pongo con más detalle:
1º ¿Va antes del primer nombre? Devolvemos esa posicion y ya hemos terminado.
2º Recorremos el array desde 1 hasta 100.
3º ¿Va antes del nombre actual? Terminamos el bucle y devolvemos la posición actual.
4º En caso contrario volvemos al paso 2.
Todo esto puede sonar un poco complicado así leído, por eso te invito a que intentes ir escribiendo código ya. No te lo pienses mucho.
Eso es exactamente lo que pense! Me alegra saber que por ahi voy bien jaja. El problema es que voy a necesitar usar la parte de ficheros (los nombres me los dan en un archivo y los tengo que sacar de ahi) y tambien voy a necesitar MUCHO de punteros (es un tema que tengo un poco flojo)
Por eso les pido ayuda.. hace 1 semana que estoy tratando de resolverlo y a lo maximo que llegue es a esto que me escribiste recien..
Si alguno me puede dar una mano con el codigo, se lo super agradezco!
Edito: para comparar los nombres y ordenarlos, tendria que usar la funcion "strcmp"