Título: Pilas de caracteres en C Publicado por: Boris Morales en 19 Septiembre 2021, 15:58 pm Hola buen día a todos, espero me puedan orientar o ayudar con lo siguiente:
Me gustaría saber como puedo implementar el siguiente código: Código: #include<stdio.h> Se supone debe cumplir lo siguiente: Citar Si el carácter es ‘@’, eliminar la última palabra. Por ejemplo, si se tiene la cadena “cadena de caracteres yu378”, la última palabra es “yu378”. Si el carácter es ‘,’, se elimina el último carácter. Si el carácter es ‘!’ se eliminan todos los caracteres que se hayan introducido. Si el carácter es ‘.’ se termina el programa. Por cada operación realizada se deben mostrar los caracteres que queden En la función VerificarCaracteres se supone ya hace lo de: Citar Si el carácter es ‘!’ se eliminan todos los caracteres que se hayan introducido. Pero no se si lo este aplicando bien, aunque el programa no me arroja advertencias o errores.Si el carácter es ‘.’ se termina el programa. Y si me pudieran ayudar u orientar con lo demás se los agradecería bastante... Título: Re: Pilas de caracteres en C Publicado por: MAFUS en 19 Septiembre 2021, 18:20 pm Citar Por cada operación se deben mostrar los caracteres que queden. Según entiendo se debe mostrar la cadena procesada hasta ese momento. Pero cuando encuentras el '.' cierras el programa directamente.Para el '!' escribes un '\0' (que te machaca el carácter que has escrito anteriormente), muestras tmpCad (recuerda que solo tiene '\0') y regresas de la función sin mirar los demás caracteres. Además tienes toda una pila que no usas para nada. ¿Estás seguro que debes usar el array tmpCad para el ejercicio? Título: Re: Pilas de caracteres en C Publicado por: Boris Morales en 19 Septiembre 2021, 18:59 pm Hola MAFUS
Pues en teoría se supone que el tmpCad me ayuda a vaciar la cadena principal, dandole valores de '0' para vaciarla según la condición. Y también quiero ver como poder sustituir la que no se usa con la princpial Título: Re: Pilas de caracteres en C Publicado por: MAFUS en 19 Septiembre 2021, 20:55 pm Usa el stack.
Por ejemplo con la cadena 'mi caso,a.' tiene que ocurrir esto: 'm': la introduzco al stack. stack: 'm' 'i': la introduzco al stack. stack: 'mi' ' ': la introduzco al stack. stack: 'mi ' 'c': la introduzco al stack. stack: 'mi c' 'a': la introduzco al stack. stack: 'mi ca' 's': la introduzco al stack. stack: 'mi cas' 'o': la introduzco al stack. stack: 'mi caso' ',': borro el ultimo elemento del stack. stack: 'mi cas' 'a': la introduzco al stack. stack: 'mi casa' '.': dejo de procesar la cadena. stack: 'mi casa' Por tanto debes hacer uso del stack que te han proporcionado para realizar el trabajo. Además deberás inventar algo para poder imprimir la cadena que hay guardada en la stack en orden y sin vaciarla. Espero que así explicado veas que no hay que usar ese array auxiliar. Si sabes usar un stack (el ejercicio está pensado para eso) no te será difícil. |