C/Visual C - Corrector ortografico

 
Vista:

Corrector ortografico

Publicado por Ozonek (3 intervenciones) el 06/03/2003 20:32:07

Hola a todos esta es la primera vez que escribo, soy nuevo.

Resulta que estoy intentando hacer un corrector ortográfico en C, (algo asi como el programa Spell hecho con comandos de UNIX, no se si lo conocereis).

Bueno la primera parte del programa se encargaría de leer ficheros de textos planos (bien escritos claro esta) sacar una a una las palabras y crear un diccionario inmenso con todas ellas. Luego habria que ordenar el diccionario y demas, y presentar algunas funciones que permitan por ejemplo fusionar diccionarios o añadir nuevas palabras.

Supongo que la ordenacion del diccionario podria hacerse por mezla natural, aunque espero vuestros consejos respecto a esto. El siguiente paso seria idear un sistema de busqueda que me permita encontrar rapidamente una cierta palabra en el diccionario, he pensado en hacer una tabla de indices para indicar donde empieza cada letra. El principal problema es que cada registro, cada palabra del diccionario, no tiene una longitud fija; Y esto me complica enormemente el acceso aleatorio al archivo.

Me gustaria que me dierais ideas o me orientarais sobre como enfocar el programa y que algoritmos escoger sobre todo en la ordenacion/busqueda en el diccionario.

Muchas gracias por vuestro tiempo!!

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Corrector ortografico

Publicado por Googol (255 intervenciones) el 09/03/2003 21:02:48
Tal vez puedas usar el tipo de datos diccionario. La idea es tener un árbol general, más concretamente uno en el que cada nodo tiene tantos hijos como letras el abecedario.
Al principio existe un nodo "fantasma", que apunta a nodos reales en cada hijo (un hijo para la "A", otro para la "B", etc.). Además, cada nodo guarda si la palabra es o no real.
Por ejemplo, si nos vamos al nodo de la "E", éste guardará en su flag que la palabra es real (Juan E hijos). Luego, de E cuelguan otros tantos hijos, uno por letra. Si nos vamos al de la "L", estaremos en la palabra "EL", y puedes marcarla como válida. Sin embargo, el nodo "E" no tendrá, supongo, hijo "Z" porque ninguna palabra del diccionario empieza por "EZ" (vamos, supongo...)

Espero haberme explicado...
Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Corrector ortografico

Publicado por Ozonek (3 intervenciones) el 09/03/2003 21:14:24
Muchas gracias Googol, sabes alguna página con información sobre eso que comentas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Corrector ortografico

Publicado por Googol (255 intervenciones) el 10/03/2003 00:33:50
Hola!

Pues no :'(
La idea la aprendí de refilón hace bastante tiempo. Nunca la he usado, ni he vuelto a ver nada más sobre ella, pero me pareció curiosa y no la he olvidado

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar