#include <iostream>
#include <stdio.h>
#include <cstring>
#include <string>
using namespace std;
int main()
{
//Variables and Arrays
char Phrase[80];
char Reverse[80];
char* Palindrome = Reverse;
int i, j, test = 0;
cout << "Please enter a sentence to be reversed: ";
cin >> Phrase;
cin.getline(Phrase, 80);
int length = strlen(Phrase);
for(i = 0; i < (length/2); i++) // do a loop from 0 to half the length of the string
{
if(test = 1) // if it is a palindrome so far
{
if(Phrase[i] != Phrase[length-i-1]) // check the characters match
{
test = 0; // if they don't set the indicator to false
}
}
else
{
break; // if it is not a palindrome, exit the for loop
}
}
if(test == 1)
{
cout << "Phrase/Word is a Palindrome." << endl;
for(j = strlen(Phrase) - 1; j >= 0; Palindrome++, j--)
{
*Palindrome = Phrase[j];
cout << "The reverse is: " << Reverse << endl << endl;
}
}
else
{
cout << "Phrase/Word is not a Palindrome." << endl;
}
system("Pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CgogICAgLy9WYXJpYWJsZXMgYW5kIEFycmF5cwoKICAgIGNoYXIgUGhyYXNlWzgwXTsKCiAgICBjaGFyIFJldmVyc2VbODBdOwoKICAgIGNoYXIqIFBhbGluZHJvbWUgPSBSZXZlcnNlOwoKICAgIGludCBpLCBqLCB0ZXN0ID0gMDsKCiAgICBjb3V0IDw8ICJQbGVhc2UgZW50ZXIgYSBzZW50ZW5jZSB0byBiZSByZXZlcnNlZDogIjsKICAgIGNpbiA+PiBQaHJhc2U7CgogICAgY2luLmdldGxpbmUoUGhyYXNlLCA4MCk7CiAgICBpbnQgbGVuZ3RoID0gc3RybGVuKFBocmFzZSk7CgogICAgZm9yKGkgPSAwOyBpIDwgKGxlbmd0aC8yKTsgaSsrKSAvLyBkbyBhIGxvb3AgZnJvbSAwIHRvIGhhbGYgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nCiAgICB7CiAgICAgICAgaWYodGVzdCA9IDEpIC8vIGlmIGl0IGlzIGEgcGFsaW5kcm9tZSBzbyBmYXIKICAgICAgICB7CiAgICAgICAgICAgIGlmKFBocmFzZVtpXSAhPSBQaHJhc2VbbGVuZ3RoLWktMV0pIC8vIGNoZWNrIHRoZSBjaGFyYWN0ZXJzIG1hdGNoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRlc3QgPSAwOyAvLyBpZiB0aGV5IGRvbid0IHNldCB0aGUgaW5kaWNhdG9yIHRvIGZhbHNlCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgYnJlYWs7IC8vIGlmIGl0IGlzIG5vdCBhIHBhbGluZHJvbWUsIGV4aXQgdGhlIGZvciBsb29wCiAgICAgICAgfQogICAgfQoKICAgIGlmKHRlc3QgPT0gMSkKICAgIHsKICAgICAgICBjb3V0IDw8ICJQaHJhc2UvV29yZCBpcyBhIFBhbGluZHJvbWUuIiA8PCBlbmRsOwoKICAgICAgICBmb3IoaiA9IHN0cmxlbihQaHJhc2UpIC0gMTsgaiA+PSAwOyBQYWxpbmRyb21lKyssIGotLSkKICAgICAgICB7CiAgICAgICAgICAgICpQYWxpbmRyb21lID0gUGhyYXNlW2pdOwogICAgICAgICAgICBjb3V0IDw8ICJUaGUgcmV2ZXJzZSBpczogIiA8PCBSZXZlcnNlIDw8IGVuZGwgPDwgZW5kbDsKICAgICAgICB9CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY291dCA8PCAiUGhyYXNlL1dvcmQgaXMgbm90IGEgUGFsaW5kcm9tZS4iIDw8IGVuZGw7CiAgICB9CgogICAgc3lzdGVtKCJQYXVzZSIpOwogICAgcmV0dXJuIDA7Cn0=