Véase ahora un ejemplo respecto a lo consultado:
Cita:
¿Cómo puedo programar eso?ENTRADA: prueba
SALIDA: uebapr@
SALIDA: uebapr@
Un cordial saludo y feliz 2012.
Atentamente, Ángel Manuel.
| |||
Mover ciertos caracteres a una variable Buenas tardes, estoy intentando desarrollar un programa en el que de una palabra (char), todos los caracteres que sean letras consonantes y estén antes de la primera vocal, se omitan del char y se pasen a una variable; imprimiéndose como dato de salida la palabra insertada como dato de entrada con todas las letras que han pasado a la variable al final de la misma junto a otro caracter adicional (@ por ejemplo). Véase ahora un ejemplo respecto a lo consultado: Cita: ¿Cómo puedo programar eso?ENTRADA: prueba SALIDA: uebapr@ Un cordial saludo y feliz 2012. Atentamente, Ángel Manuel. |
| |||
Respuesta: Mover ciertos caracteres a una variable Cita: Buenas tardes, ¿pero cómo añado a la variable auxiliar los respectivos caracteres que contiene la variable de entrada?
Iniciado por CapacProg Utiliza la libreria <string.h> para este fin. Como se puede ver ya tienes dos variables para la cadena de ENTRADA y SALIDA respectivamente, pues ahora tienes que agregar una más que sea un AUXILIAR; este con el siguiente fin: lees caracter a caracter ENTRADA y mientras no leas una vocal lo vas almacenando en AUXILIAR, cosa que cuando leas una vocal apliques '\0' a AUXILIAR para indicarle que terminó con el, luego los siguientes caracteres de ENTRADA lo mandas a SALIDA y cuando termines de recorrer ENTRADA, agregas los elementos de AUXILIAR más tu carácter adicional y '\0' para indicar que terminó, de ahí ya puedes imprimirlo si lo necesitas o hacer otras operaciones. Para recorrer la cadena usa un "for" utilizando la función la longitud que te da la librería que te mencioné al inicio, sabiendo que una cadena en C/C++ es un vector. Si tienes alguna duda me lo pasas. Saludos. |
| ||||
Respuesta: Mover ciertos caracteres a una variable Las cadenas de caracteres en C/C++ son vectores, puedes hacer esto, (ojo: sólo como referencia)
Código C++:
Ver original
__________________ % El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla. % |
| |||
Respuesta: Mover ciertos caracteres a una variable Cita: Buenas noches; siendo este el código del switch, me aparece un error que indica "Token no encontrado":
Iniciado por CapacProg Las cadenas de caracteres en C/C++ son vectores, puedes hacer esto, (ojo: sólo como referencia)
Código C++:
Ver original
Código C++:
Ver original ¿Hay algo incorrecto en el código? |
| ||||
Respuesta: Mover ciertos caracteres a una variable Los caracteres se encierran con apóstrofes y no con comillas como Ud. lo usa en su código. Motivo por el cual de su error al ejecutar.
__________________ % El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla. % |
| |||
Respuesta: Mover ciertos caracteres a una variable Cita: Buenos días; finalmente solucioné el problema reescribiendo el bloque switch, pero quiero que los caracteres que han pasado a la variable auxiliar se eliminen de la de entrada además de querer que el bloque for finalice en cuanto se detecte la primera vocal y no cuando recorra todos los caracteres de la variable de entrada. Dicho esto, para intentar finalizar la actividad del for en cuanto se detectase la primera vocal he intentado añadir en dicho bloque la correspondiente condición pero la aplicación falla entonces.Un saludo Última edición por amgc; 04/01/2012 a las 07:27 |
| ||||
Respuesta: Mover ciertos caracteres a una variable Esa parte la puede sanar utilizando un break, también puede ser con una variable booleana, entre muchas otras. Creo que por el resto que menciona Ud. debe de continuar revisando como funcionan los vectores y cadenas en C/C++. Si tiene dudas coloque su implementación para revisarla si haya fallos; las personas aquí no resolvemos problemas desde cero.
__________________ % El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla. % |
| |||
Respuesta: Mover ciertos caracteres a una variable Cita: Buenas noches, a continuación le muestro el código que estoy utilizando, por el cual debería finalizarse el bloque for en cuanto se detectase una vocal y no se pasasen más consonantes a la variable auxiliar (acción que ocurría dentro del bloque for). Por otra parte, no sé cómo podría eliminar esos caracteres que pasan a la variable auxiliar de la de entrada.
Iniciado por CapacProg Esa parte la puede sanar utilizando un break, también puede ser con una variable booleana, entre muchas otras. Creo que por el resto que menciona Ud. debe de continuar revisando como funcionan los vectores y cadenas en C/C++. Si tiene dudas coloque su implementación para revisarla si haya fallos; las personas aquí no resolvemos problemas desde cero. Además he intentado reemplazar el switch por un enunciado (bloque) if-else pero en ese caso, nada pasa a la variable auxiliar. Dicho esto, expongo el código:
Código C++:
Ver original Muchas gracias por su ayuda y espero ser respondido lo antes posible. Un cordial saludo. Última edición por amgc; 06/01/2012 a las 05:54 Razón: Informar sobre otra opción que había tomado para resolver el problema, la cual ha fallado también. |
| ||||
Respuesta: Mover ciertos caracteres a una variable Para pasar los caracteres de Auxiliar a Salida realiza otro for por la cantidad de elementos que tiene que si no te haz dado cuenta es p en cada iteración lo pasas a la variable Salida.
__________________ % El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla. % |
| |||
Respuesta: Mover ciertos caracteres a una variable Buenos días, pero si mi inconveniente es que break, que debería ejecutarse para suspender el for en cuanto se detectase la primera vocal, no funciona; y no es mi inconveniente el no saber cómo programar el paso de caracteres desde la variable auxiliar a la de salida. Por otra parte, quisiera saber cómo eliminar de la variable de entrada aquellos caracteres (l.consonantes) que pasan a la variable auxiliar. [NOTA: El código utilizado es el de mi anterior respuesta] Espero una pronta respuesta, agradeciéndole además su ayuda y atención. Reciba un cordial saludo. Atentamente, Ángel Manuel. |
Etiquetas: |