elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como copiar una cadena a otra crarcter por caracter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como copiar una cadena a otra crarcter por caracter  (Leído 13,451 veces)
lokecolinUAM

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Como copiar una cadena a otra crarcter por caracter
« en: 12 Julio 2012, 08:02 am »

Es simple tengo que realizar un programa que intercambie una cadena a otra, si ya se "strcpy"
Pues no se me pide que solo utilice ciclos y cadenas y asi.
por farvor es para dentro de unas horas!!!!


En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Como copiar una cadena a otra crarcter por caracter
« Respuesta #1 en: 12 Julio 2012, 08:04 am »

¡Hola!

Puedes hacerlo con un bucle for. Recorres la primera cadena y vas asignándole cada carácter a la cadena2.

Si tienes alguna duda pregunta  :D

Saludos!


En línea

lokecolinUAM

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Como copiar una cadena a otra crarcter por caracter
« Respuesta #2 en: 12 Julio 2012, 08:12 am »

c   char  A[MAX];
    char  B[MAX];
    int x;
    printf (" Nombre A : ");
    fgets(A,MAX,stdin );
    for(x=0;x<MAX;x++)
    {
            if(A
  • !='\0')
                          B
  • ==A
  • ;
            else(A
  • =='\0')
                          B
  • =='\0';         
    }
 
    printf ("El nombre A es:  \" %s\"\n"  ,A);

    printf ("El nombre B  es:  \" %s\"\n" ,B);
   
   
    /*printf("Al realizar ek intercambio de cadenas:\n\n\n");
    printf ("El nombre A es: \" %s\"\n\n"  ,A);
    printf ("El nombre B es: \" %s\"\n"  ,B);*/
   
 
    system("pause");
    return 0;
}
En línea

lokecolinUAM

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Como copiar una cadena a otra crarcter por caracter
« Respuesta #3 en: 12 Julio 2012, 08:13 am »

es lo que e tratado pero no funciona si corre pero no me copia
y se supone que el operador asignacion no se puede utilizar para esto pero entonces como
???????????


help!!!!
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: Como copiar una cadena a otra crarcter por caracter
« Respuesta #4 en: 12 Julio 2012, 08:21 am »

En el bucle for esta condición sobra:

Código
  1. if(A!='\0')

ya que indicas que recorres la cadena hasta MAX-1, y el '\0' está en MAX. (A parte de que para recorrer una cadena debes poner el subíndice (el [])...)

Las cadenas no se pueden copiar usando el operador de asignación (y mucho menos el de comparación, que es el que has usado).

Normalmente las cadenas se copian con strcpy(), pero como el ejercicio pide que no uses esa función, pues con el bucle for. Así, vas recorriendo cada carácter de la cadena: cadena[0], cadena[1] ... cadena[MAX-1]; y asignando el carácter a la otra cadena. Así:

Código
  1. for(i=0;i<MAX;i++)
  2. {
  3.   B[i] = A[i];
  4. }
  5. B[MAX] = '\0';
  6.  
  7.  

Saludos!
« Última modificación: 12 Julio 2012, 08:31 am por DickGumshoe » En línea

lokecolinUAM

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Como copiar una cadena a otra crarcter por caracter
« Respuesta #5 en: 12 Julio 2012, 12:11 pm »

 :o
Exelente men eres el mejor!!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines