Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: fernaEDLP en 2 Mayo 2019, 06:30 am



Título: concatenacion de cadenas sin usar funciones
Publicado por: fernaEDLP en 2 Mayo 2019, 06:30 am
hola gente como les va?, necesito ayuda con el siguiente problema:
tengo que ingresar dos cadenas por teclado y copiar el contenido de la segunda al final de la primera es decir si en cad1 ingreso "hola", y en cad2 ingreso "mundo", al final debe quedarme en cad1 hola mundo, el código ya casi lo tengo hecho, pero hay algo que me falta o sea cuando termino de copiar los contenidos e imprimo cad1 me sale todo junto, o sea holamundo, y yo no quiero que salga así:
i
Código
  1. nt main()
  2. {
  3.  char cad1[80],cad2[80];
  4.  int i=0,j=0,k=0;
  5.  printf("ingrese cad1\n");
  6.  gets(cad1);
  7.  fflush(stdin);
  8.  printf("ingrese cad2 \n");
  9.  gets(cad2);
  10.  while(cad1[i]!='\0')
  11.  {
  12.      i++;
  13.  
  14.  }
  15.  while(cad2[j]!='\0')
  16.  {
  17.      cad1[i+k]=cad2[j];
  18.      j++;
  19.      k++;
  20.  }
  21.  cad1[i+k]='\0';
  22.  
  23. puts(cad1);
  24. return 0;
}
se me había ocurrido, colocar en el mensaje printf("ingrese cad2 pero antes coloque un espacio"), pero no c quedaría muy croto pidiéndolo, graciass de antemano


Título: Re: concatenacion de cadenas sin usar funciones
Publicado por: animanegra en 2 Mayo 2019, 09:31 am
Si quieres que aparezca un espacio tienes que ponerlo tu, el ordenador no hace magia. Solo hace las acciones para las que las has programado.

A ver, en el primer while estas paseandote por la primera cadena buscando el final, y el en segundo estás paseandote por la segunda cadena pasando el contenido de cada caracter a partir de la posicion i donde te habías quedado. ¿Correcto?

¿Y si en lugar de empezar a pasar caracteres nada más que terminas de saber donde está el final de la primera string le añades un espacio?

Código:
cad1[i]=' '; // Añadimos el caracter espacio en el lugar donde encontraste el caracter '\0'
i++;          // Añadimos 1 al contador de posicion para no machacar el espacio que acabamos de poner.


Título: Re: concatenacion de cadenas sin usar funciones
Publicado por: fernaEDLP en 2 Mayo 2019, 13:21 pm
ahi salio!, graciass!