Invertir una cadena de caracteres

Alejandro Sierra Domínguez
 
/* Lee una cadena del teclado y la invierte:
   por ejemplo, si damos como entrada: "Hola Pepe",
   la salida debe ser: "epeP aloh".
   Utilizar reserva dinamica de memoria */
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
char cad[100],*inversa,*p,*q;
int longitud=0,i;
printf("n Dame cadena: ");
gets(cad);
 
/* (1) Calcular la longitud de la cadena de caracteres: cad[] */
 
longitud=strlen(cad);
inversa=(char*)calloc(longitud+1,sizeof(char));
p=cad;
q=inversa + longitud;
*q=”;
q–;
/* (2) aqui la inviertes haciendo por ejemplo un bucle; puedes
       utilizar una cadena adicional cad1[] si te resulta mas sencillo */
 
                while(*p !=”)
                         {
                           *q=*p;
                           p++;
                           q–;
                           }
 
/* (3) ahora transfieres la nueva cadena cad1[] a la cadena primera cad[] */
   i=0;
   p=cad;
   q=inversa;
   while(*q != ”){
                  *p=*q;
                  p++;
                  q++;
                  }
 
printf("n La cadena invertida es: ");
printf(""%s"nn",cad);
system("PAUSE");
return 0;
}
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Una respuesta a Invertir una cadena de caracteres

  1. Ricardo dijo:

    molto bene.ric.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s