/**
* Programa en C++ que halla la reversa de una cadena usando punteros
*/
#include <iostream>
using namespace std;
#define MAX_SIZE 100 // Maximo tamaño de la cadena
int main()
{
char str[MAX_SIZE], reverse[MAX_SIZE];
char *s = str;
char *r = reverse;
int len = 0;
/* Ingresar la cadena a reversar */
cout<<"Ingrese cualquier cadena: ";
cin.getline(str,MAX_SIZE);
/* Encontrar longitud de la cadena */
while(*(s++))
len++;
/*
* Almacena cada caracter a partir del final de la cadena original
* para la cadena reversa
*/
s--;
while(len >= 0)
{
*(r++) = *(--s);
len--;
}
*r = '\0';
cout<<"Cadena original = "<<str<<endl;
cout<<"Cadena invertida = "<<reverse;
return 0;
}