Ordenador de palabras
Un poco sobre esta aplicación
Pues esta aplicación la desarrollé en cierta ocasión que necesitaba listar en orden algunas palabras para
cierta tarea que tenía que llevar a cabo. Sin embargo no solo no encontraba ninguna solución en internet que
me satisficiera, sino que no encontraba ninguna solución en absoluto. Por lo que al final tras cansarme de
buscar, opté por crear mi propia aplicación de escritorio para cumplir con las tareas que necesitaba.
Esta aplicación está hecha en C y debería funcionar perfectamente en Windows.
Detalles más técnicos
Para que esta aplicación funcione se usa un array dinámico principal que va creciendo a medida que se necesite espacio para más palabras. Este array reservará espacio en tiempo real para unas estructuras (“struct”) las cuales almacenaran las palabras y algunas propiedades más respecto a ellas.
Las estructuras contienen un valor “posición” y un valor “longitud”. La longitud medirá que tan larga es una palabra, mientras que la posición establecerá en qué orden aparecen.
Luego se revisan las palabras una a una, empezando por comprobar si hay cadenas vacías o repetidas, en cuyo caso se avisará al usuario y la aplicación terminará de ejecutarse. Si no hay cadenas vacías ni repetidas, se comprueba letra a letra cada una de las palabras, y se establece un orden en función del valor que estas tienen en la tabla de equivalencias ASCII (puedes ver un ejemplo de tabla de equivalencias ASCII aquí).
Dependiendo del valor que tiene cada una de las letras que se revisan, se pueden o no cambiar el valor para la posición en la estructura correspondiente a esa palabra. Si dos caracteres en la misma posición son iguales se pasará a la siguiente letra y esto se puede repetir varias veces hasta que encuentre un carácter diferente. Una vez encuentre la diferencia, se establecerá una nueva posición en la propiedad de la estructura.
Al finalizar, las propiedades “posición” de las estructuras de cada palabra, que originalmente se establecían en orden ascendente normal, habrá cambiado. Y se mostrarán en el nuevo orden, quedando así las palabras ordenadas.
Para finalizar existe la posibilidad en la aplicación de imprimir esta lista en un archivo de formato “.txt”.
Y también cabe añadir que debido a que la tabla de caracteres ASCII básica no contempla palabras con tilde ni la
“ñ”, las palabras que contengan estos caracteres podrían generar algún caracter desconocido al imprimirse, ya sea
por pantalla o por archivo “.txt”.