Título: Cambiar caracteres en cadenas --en C-- Publicado por: n_n en 30 Octubre 2011, 02:04 am hola a todos, quisiera que me ayudaran!
Llevo mucho haciendo esto y no me salen lo he borrado miles de veces! necesito hacer un programa el cual te lea una cadena y cambie todas las vocales por los numeros del 1 al 9 consecutivamente. Ejemplo: Introduces "Foro de elhacker" y te devuelve: "F1r2 d3 4lh5ck6r" Se los agradeceria muchisimo!! GRACIAS!!:D se me ocurre algo como esto: Código:
esto identificaria las vocales y en que posicion estan pero nose como hacer para enumerarlas :S Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: rir3760 en 30 Octubre 2011, 03:43 am esto identificaria las vocales y en que posicion estan pero nose como hacer para enumerarlas Pues ya lo estas haciendo. Basta con imprimir el valor de la variable "w" justo despues de su incremento.Un saludo Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: n_n en 30 Octubre 2011, 04:45 am Gracias
Pero al poner un Código: printf ("%i", w); Me explico? Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: alx128 en 30 Octubre 2011, 09:13 am Ya estas incrementando el valor por cada vocal....Solo te falta igualar el valor de w en la posicion de cada vocal...O sea ahi si enumeras bien w en cada vocal pero no almacenas el numero en la posicion de la vocal algo asi: cadena en la psicion x=w...
Código Y despues imprimes toda la cadena afuera del while... Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: rir3760 en 30 Octubre 2011, 17:18 pm No es necesario almacenar los caracteres ni el contador ya que lo unico que se hace con ellos es imprimirlos. Tomando tu ejemplo:
Código
Edito: no puede utilizarse la función "putchar" para imprimir el numero de vocales, hay que utilizar printf. Mea culpa. Ya esta corregido Un saludo Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: n_n en 31 Octubre 2011, 17:41 pm Muchas gracias!!
me sirvio de mucho su ayuda :) Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: LearningSpanishProgrammer en 1 Noviembre 2011, 00:54 am Creo ser más claro así:
Código
Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: rir3760 en 1 Noviembre 2011, 02:47 am Otra opcion es utilizando la funcion "strchr" (prototipo en <string.h>) para conocer si el caracter es vocal:
Código
Un saludo Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: LearningSpanishProgrammer en 1 Noviembre 2011, 20:35 pm También puedes hacer lo siguiente:
Código
Título: Re: Cambiar caracteres en cadenas --en C-- Publicado por: rir3760 en 2 Noviembre 2011, 01:27 am if (strchr("AEIOU", toupper(ch)) != NULL) Esa fue mi primera aproximación pero falla si hay mas de nueve vocales en la cadena.ch = (++counter) + '0'; Un saludo |