Título: Reemplazar carácteres en C Publicado por: ElGabi80 en 13 Diciembre 2014, 06:00 am Hola quisiera remplazar 'ny' por una ñ
Ejemplo: si pongo: 'canyon' se me cambie por --> cañon, pero solo y unicamente cuando ponga 'ny', ni 'n' ni 'y'. tengo una idea pero no funciona correctamente: Código: #include <stdio.h> compila perfectamente esta 'idea' pero solo me cambia la 'n' por una 'ñ' y yo busco que me cambie la 'ny' por la 'ñ'. Gracias a todos. Título: Re: Reemplazar carácteres en C Publicado por: engel lex en 13 Diciembre 2014, 06:47 am el simbolo de "resuelto" se debe reservar solo para temas ya resueltos...
para tu problema sería Citar si cadena[y] == 'n' Y cadena[y+1] == 'y' entonces... y claramente como la cadena original tiene un caracter más de largo, tendrás que o usar otra o hacer que el ciclo desplaze todos los caracteres luego de la sustitucion Título: Re: Reemplazar carácteres en C Publicado por: ElGabi80 en 13 Diciembre 2014, 07:05 am el simbolo de "resuelto" se debe reservar solo para temas ya resueltos... para tu problema sería y claramente como la cadena original tiene un caracter más de largo, tendrás que o usar otra o hacer que el ciclo desplaze todos los caracteres luego de la sustitucion Hola antes de nada darte las gracias, pues bien ahora ya me compara la 'n' y la 'y' Código: if (cadena[y] == 'n' && cadena[y+1] == 'y') pero ahora solo me sustituye una 'n' por una ñ y la otra sigue estando, se que me has comentado como arregalar eso, pero no caigo Dx, si pudieras ser más gráfico, y gracias otra vez, al menos ahora tengo las ideas más claras. Título: Re: Reemplazar carácteres en C Publicado por: engel lex en 13 Diciembre 2014, 07:46 am el asunto es que tu arreglo de caracteres por dentro es
Código: |c|a|n|y|o|n|\0|..... lo sustituyes por Código: |c|a|ñ|y|o|n|\0|..... el arreglo seguirá siendo más largo de lo que quieres... así que tienes que hacer una funcion (no expresamente una funcion, sino simplemente un ajuste) tal que tome a partir de la "ñ" agregada y diga Código: si cadena[y] no es '\0' entonces cadena[y] = cadena[y+1] Título: Re: Reemplazar carácteres en C Publicado por: ElGabi80 en 13 Diciembre 2014, 08:13 am el asunto es que tu arreglo de caracteres por dentro es Código: |c|a|n|y|o|n|\0|..... lo sustituyes por Código: |c|a|ñ|y|o|n|\0|..... el arreglo seguirá siendo más largo de lo que quieres... así que tienes que hacer una funcion (no expresamente una funcion, sino simplemente un ajuste) tal que tome a partir de la "ñ" agregada y diga Código: si cadena[y] no es '\0' entonces cadena[y] = cadena[y+1] Ya te entiendo, corres un lugar de esta forma eliminamos la letra extra, creo que te refieres a algo así: Código: if (cadena[y] == 'n' && cadena[y+1] == 'y'){ pero el problema es que da este resultado por pantalla: cayyon Perdona si me hago tan pesado pero no lo consigo sacar :c y gracias por tu ayuda. Título: Re: Reemplazar carácteres en C Publicado por: engel lex en 13 Diciembre 2014, 08:35 am XD tranqui, se ve que lo estás intentando...
esperaba que vieras el ajuste y lo hicieras :P el asunto es que reemplazas y en ese momento el indice está apuntando justo a la letra que quieres olvidar :P y no copias más nada... y para copiar todo, puedes hacer una variable tipo bandera y listo son 2 cosas: la primera Código: bandera = 0 Título: Re: Reemplazar carácteres en C Publicado por: ElGabi80 en 13 Diciembre 2014, 09:22 am Gracias por todo, en especial al único usuario que me contesto xD, funciona perfectamente ahora estoy intentando asimilarlo xD.
Bueno ahora creo que si que le pondré la palomita verde jaja :P Título: Re: Reemplazar carácteres en C Publicado por: engel lex en 13 Diciembre 2014, 09:25 am ahora si XD
sobre que fue el unico usuario que te respondi es porque esta es parte de las "horas bajas" del foro, los americamos están durmiendo y los europeos apenas se están levantando jejeje no se que haces despiert@ tu XD pero yo no puedo dormir y juego harvest moon XD Título: Re: Reemplazar carácteres en C Publicado por: ElGabi80 en 13 Diciembre 2014, 09:46 am Llevo casi toda la noche intentando sacar esto :P, menos mal que apareció otro con los mismos horarios raros que yo xD.
PD: No pongas el @ que soy un chico y me haces dudar de mi genero xD. PD2 :Al final nos moverán el tema a offtopic pero yo soy más de Hotel Dusk o 999, vamos..., juegos de aventura gráfica. |