// Diego Martinez CSC5 Chapter 10, P.588, #2
/*******************************************************************************
* DISPLAY REVERSE STRING
* ______________________________________________________________________________
* This program asks the user to enter a string. A function is used to display
* the contents of the C-string backward.
*
* Computation is based on the Formula:
*
* Display characters from the end of the string to the beginning
*
* ______________________________________________________________________________
* INPUT
*
* User string
*
* OUTPUT
*
* String displayed backward
*
*******************************************************************************/
#include <iostream>
#include <cstring>
using namespace std;
// Function prototype
void backwardString(const char *);
int main()
{
// Variable declaration
char userString[100];
// User input
cout << "Enter a string: ";
cin.getline(userString, 100);
// Function call
cout << "The string backward is: ";
backwardString(userString);
cout << endl;
return 0;
}
// Function definition
void backwardString(const char *str)
{
int length = strlen(str);
// Display string backward
for (int i = length - 1; i >= 0; i--)
{
cout << *(str + i);
}
}
Ly8gRGllZ28gTWFydGluZXogICAgICAgICAgICAgICAgICAgICAgICAgQ1NDNSAgICAgICAgICAgICBDaGFwdGVyIDEwLCBQLjU4OCwgIzIKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBESVNQTEFZIFJFVkVSU0UgU1RSSU5HCiogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiogVGhpcyBwcm9ncmFtIGFza3MgdGhlIHVzZXIgdG8gZW50ZXIgYSBzdHJpbmcuIEEgZnVuY3Rpb24gaXMgdXNlZCB0byBkaXNwbGF5CiogdGhlIGNvbnRlbnRzIG9mIHRoZSBDLXN0cmluZyBiYWNrd2FyZC4KKgoqIENvbXB1dGF0aW9uIGlzIGJhc2VkIG9uIHRoZSBGb3JtdWxhOgoqCiogICAgICBEaXNwbGF5IGNoYXJhY3RlcnMgZnJvbSB0aGUgZW5kIG9mIHRoZSBzdHJpbmcgdG8gdGhlIGJlZ2lubmluZwoqCiogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiogSU5QVVQKKgoqICAgICAgVXNlciBzdHJpbmcKKgoqIE9VVFBVVAoqCiogICAgICBTdHJpbmcgZGlzcGxheWVkIGJhY2t3YXJkCioKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBGdW5jdGlvbiBwcm90b3R5cGUKdm9pZCBiYWNrd2FyZFN0cmluZyhjb25zdCBjaGFyICopOwoKaW50IG1haW4oKQp7CiAgICAvLyBWYXJpYWJsZSBkZWNsYXJhdGlvbgogICAgY2hhciB1c2VyU3RyaW5nWzEwMF07CgogICAgLy8gVXNlciBpbnB1dAogICAgY291dCA8PCAiRW50ZXIgYSBzdHJpbmc6ICI7CiAgICBjaW4uZ2V0bGluZSh1c2VyU3RyaW5nLCAxMDApOwoKICAgIC8vIEZ1bmN0aW9uIGNhbGwKICAgIGNvdXQgPDwgIlRoZSBzdHJpbmcgYmFja3dhcmQgaXM6ICI7CiAgICBiYWNrd2FyZFN0cmluZyh1c2VyU3RyaW5nKTsKCiAgICBjb3V0IDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0KCi8vIEZ1bmN0aW9uIGRlZmluaXRpb24Kdm9pZCBiYWNrd2FyZFN0cmluZyhjb25zdCBjaGFyICpzdHIpCnsKICAgIGludCBsZW5ndGggPSBzdHJsZW4oc3RyKTsKCiAgICAvLyBEaXNwbGF5IHN0cmluZyBiYWNrd2FyZAogICAgZm9yIChpbnQgaSA9IGxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKQogICAgewogICAgICAgIGNvdXQgPDwgKihzdHIgKyBpKTsKICAgIH0KfQ==