Título: Ayudaaa Publicado por: nazscka en 3 Junio 2020, 22:49 pm Me pidieron esto para una tarea y hace horas que trato de resolverlo sin encontrar resultado:
"Un grupo de pequeños amigos suele reunirse para jugar a los espías. Como pretenden imitar a los buenos espías, tienen sus medios para codificar mensajes. En particular, para informar a sus colegas si sus actividades de espionaje han dado resultado o no, han ideado el siguiente método. Los chicos tienen una hilera ‘base’ de letras del alfabeto internacional. Cuando quieren transmitirle a otro un mensaje indicando el resultado exitoso de su misión, envían por celular una palabra que sólo puede leerse en la hilera base de izquierda a derecha. Si la misión resultó fallida, mandan una palabra que en la hilera base sólo puede leerse al revés, es decir de derecha a izquierda. A veces necesitan avisar que la misión encomendada está demorada, por lo que no pueden usar el método anterior. En este caso mandan una palabra que no puede leerse en ningún sentido. Para ayudar a los chicos, se te pide que escribas un programa mensajes.cpp que, recibiendo una palabra y teniendo la secuencia de letras ‘base’, decida si la palabra está o no, y en el primer caso en qué dirección se pudo leer." Por ejemplo: Entrada: ABDLFJKDSHKHLIDFNMENSAJESJDSKFJSDFNISDFJDFSLKJDFSLDFS MENSAJE Salida: SI I Entrada: ABDLFJKDSHKHLIDFEJASNEMJDSKFJSDFNISDFJDFSLKJDFSLDFS MENSAJE Salida: SI D Ejemplo Entrada: ABDLFJKDSHKHLIDFMENSAJEJDSKFJSDFNISDFJDFSLKJDFSLDFS SECRETO Salida: NO esto se lo que tengo hasta ahora, pero la función es un int, y debería ser un bool. Código
Gracias de antemano Título: Re: Ayudaaa Publicado por: K-YreX en 4 Junio 2020, 10:19 am Tienes que representar 3 estados por lo que si lo calculas todo dentro de la función no podrás usar como valor de retorno <bool>. Para poder usar un <bool> tienes que separar la lógica del problema, por ejemplo, haciendo una función que te devuelva true/false según si el mensaje está en la cadena o no y llamar a esta función dos veces, la segunda vez con la cadena invertida.
El resultado podría ser algo así: Código
|