Introducción a la
Programación
Trimestre 2005 Invierno --- Tarea 7
Lunes 28 de Marzo de 2005 a
las 22:00 hrs
Sopa de Letras
Aunque
eres un fanático de resolver las sopas de letras, hay ocasiones
en las que quisieras un poco de ayuda computacional para encontrar las
palabras escondidas. Vamos a suponer que tienes
una sola palabra P
que quieres encontrar en otra cadena S.
Como sabes, la palabra P puede
aparecer
escrita en S
tanto al derecho como al revés. Por ejemplo,
si buscas la palabra AVE en la cadena
AAVEEEVAVEVAEVEVAVEVVVEAVE la podrás encontrar al derecho (aAVEeevAVEvaevevAVEvvveAVE) y al revés (aaveeEVAvEVAevEVAvevvveave). Tu
tarea consiste en escribir un programa que, dadas la palabra P y la cadena S,
determine si P aparece al
derecho y al revés en S.
Especificación
La entrada consiste de dos cadenas P
y S, cada una en un
renglón y formadas por entre 1 y 100 letras mayúsculas
('A' a 'Z' sin incluir los acentos ni la 'Ñ'). La
salida consiste de dos números enteros D y R,
separados por un espacio,
donde D = 1 si P aparece al derecho en S y D
= 0 en caso contrario, y R = 1
si P aparece al revés
en S y R = 0 en caso contrario. El
nombre de tu
programa deberá ser letrasNN.c,
donde NN es el
número de equipo
que les fue
asignado. Los archivos letrasNN.o
y letrasNN.exe no deben
ser
entregados. Notas: (a) Su
programa no deberá leer ni escribir nada además de los
datos mencionados. (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
letrasNN.c -o letras y para probarlo usen la instrucción ./letras y tecleen la entrada
deseada seguida de un enter.
Ejemplos
ENTRADA:
SALIDA: ENTRADA:
SALIDA: ENTRADA: SALIDA:
AVE
1 1
ERA 0
1
CASA 0 0
AAVEEEVAVEVAEVEVAVEVVVEAVE
TAREA
NO