Título: Sustituir un caracter en C (String.h) Publicado por: JoiaribDG en 3 Marzo 2016, 16:07 pm Tengo una tarea en la que tengo que ingresar una palabra o un nombre, y despues ingresar cuantas veces quiero que esa palabra se repita, todo bien hasta aqui, pero tambien me pide que despues pida una letra, y que esa letra sistituya la primera letra de la palabra con esta letra
Código: #include <stdio.h> Hasta ahora tenia bien el razonamiento pero no me funciona el programa :/ necesito ayuda el programa se entrega hoy :c Título: Re: Sustituir un caracter en C (String.h) Publicado por: MAFUS en 3 Marzo 2016, 16:34 pm Vale, unas cuantas cosas que no tienes claras:
Un array de 1 elemento es una redundancia, por tanto donde pone Código debe poner Código
Los arrays en C empiezan en el índice 0, no el 1. Así pues donde pone Código debe poner Código pero como hemos dicho que letra es un simple char la línea debe ser así: Código
Un fallo que has realizado es en la linea Código porque estas cargando toda una cadena donde solo te cabe un caracter. Además el fallo es más grave porqué estás escribiendo fuera de la memoria asignada para letra (solo tienes asignado letra[0], escribir en letra[1] es escribir fuera de los límites de la variable). Además hay que recordar que letra lo hemos dejado como caracter por tanto debería escribirse todo de esta forma: Código o mejor aún haciendo uso de getchar así: Código Título: Re: Sustituir un caracter en C (String.h) Publicado por: JoiaribDG en 3 Marzo 2016, 17:47 pm Muchisimas Gracias! :D mi logica estaba mal! D: pero muchisimas gracias por la ayuda me has servido bastante :D ;-)
Título: Re: Sustituir un caracter en C (String.h) Publicado por: CrystalChild en 4 Marzo 2016, 06:46 am Ya que estaba, me puse a hacer esto...
Pero hay algo que no está funcionando Y no encuentro el error. Ya lo leí a conciencia varias veces. Acá el screenshot https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xlt1/v/t35.0-12/12810175_10205913314980397_245721758_o.jpg?oh=9d57bfe43b3e649585ae761918799783&oe=56DADB9B&__gda__=1457264705_19db812568cc7e1c9538e3ffc919bd8e Título: Re: Sustituir un caracter en C (String.h) Publicado por: MAFUS en 4 Marzo 2016, 10:55 am El problema se encuentra en que después de leer el número de veces a repetir la palabra, en el buffer sigue quedando el caracter de nueva línea que has introducido al pulsar la tecla ENTER. Para solucionar esto puedes usar la siguiente linea de código después de una lectura de estas:
Código |