Introducción a la Programación
Trimestre 2005 Primavera --- Tarea 7

Jueves 30 de junio de 2005 a las 22:00 hrs

Palabras similares

Una compañía te ha encargado un pequeño programa de revisión de ortografía para incorporar a su procesador de textos. Una parte fundamental de este programa es que cuando detecte que una palabra está escrita incorrectamente, debe de proporcionar una lista de palabras similares tomadas de un diccionario. Para ello, el programa debe tomar la palabra escrita incorrectamente y debe compararla con otras palabras que estén escritas de forma correcta. Te han solicitado que tu programa sólo sugiera palabras que sean muy similares, es decir, que sólamente difieran en una letra (ya sea que la letra fue alterada, agregada o borrada). Por ejemplo, la palabra "SEL" es similar a las palabras "SAL", "SEUL", "SE" y "EL" pero no es similar a ninguna de las palabras "PELO", "SUELO", "E" ni "REY".

Especificación

La entrada consiste de dos cadenas distintas S y T (formadas por 1 a 100 letras mayúsculas) cada una en un renglón. La salida consiste de un número entero N, donde N = 0 si S y T no son similares, N = 1 si S y T tienen una letra alterada, N = 2 si T se obtiene de S agregando una letra y N = 3 si T se obtiene de S borrando una letra. El nombre de su programa deberá ser palsimNN.c, donde NN es el número de equipo que les fue asignado. Los archivos palsimNN.o y palsimNN.exe no deben ser entregados. Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados anteriormente. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc palsimNN.c -o palsim y para probarlo usen la instrucción ./palsim y tecleen la entrada deseada seguida de un enter.

Ejemplos

ENTRADA: SALIDA: ENTRADA: SALIDA: ENTRADA: SALIDA: ENTRADA: SALIDA:
ROMA     0       SAL      1       PERA     2       REY      3
MORA             SOL              PERSA            RE