Test Foro de elhacker.net SMF 2.1

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 (c_mac) [Seleccionar]
nt main()
{
  char cad1[80],cad2[80];
  int i=0,j=0,k=0;
  printf("ingrese cad1\n");
  gets(cad1);
  fflush(stdin);
  printf("ingrese cad2 \n");
  gets(cad2);
  while(cad1[i]!='\0')
  {
      i++;

  }
  while(cad2[j]!='\0')
  {
      cad1[i+k]=cad2[j];
      j++;
      k++;
  }
  cad1[i+k]='\0';

puts(cad1);
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?


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!