//Andrew Alspaugh CS1A Chapter 10. P. 588. #1
//
/****************************************************************************
Reverse Characters of String
____________________________________________________________________________
This program displays a user inputted string, and then it displays the
characters of the string in reverse order
____________________________________________________________________________
//Input
int SIZE = 101;
char strIN [SIZE];
//Output
int length; (length of string)
char strOUT [SIZE];
****************************************************************************/
#include <iostream>
#include <cstring>
using namespace std;
//Reverse Characters Header
void ReverseChar(const char *strIN, char *strOUT, int &length);
int main()
{
//DATA DICTIONARY
//Input
int SIZE = 101;
char strIN [SIZE];
//Output
int length;
char strOUT [SIZE];
//INPUT
//Input String
cin.getline (strIN, SIZE);
//PROCESS
//Reverse String
ReverseChar(strIN, strOUT, length);
//OUTOUT
//User Input String
cout << "User Inputted:" << endl;
cout << strIN << endl << endl;
//Reverse String
cout << "Reverse String is:" << endl;
cout << strOUT << endl;
return 0;
}
//Reverse Character Def
void ReverseChar(const char *strIN, char *strOUT, int &length)
{
length = strlen (strIN);
for (int i = 0; i < length; i++)
{
strOUT[i] = strIN[length - 1 - i];
}
strOUT[length] = '\0';
}
Ly9BbmRyZXcgQWxzcGF1Z2ggICAgICAgICAgICAgIENTMUEgICAgICAgICAgICAgICAgICAgQ2hhcHRlciAxMC4gUC4gNTg4LiAjMQovLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpSZXZlcnNlIENoYXJhY3RlcnMgb2YgU3RyaW5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGhpcyBwcm9ncmFtIGRpc3BsYXlzIGEgdXNlciBpbnB1dHRlZCBzdHJpbmcsIGFuZCB0aGVuIGl0IGRpc3BsYXlzIHRoZSAKY2hhcmFjdGVycyBvZiB0aGUgc3RyaW5nIGluIHJldmVyc2Ugb3JkZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwovL0lucHV0CglpbnQgU0laRSA9IDEwMTsKCWNoYXIgc3RySU4gW1NJWkVdOwoKLy9PdXRwdXQKCWludCBsZW5ndGg7IChsZW5ndGggb2Ygc3RyaW5nKQoJY2hhciBzdHJPVVQgW1NJWkVdOwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGNzdHJpbmc+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovL1JldmVyc2UgQ2hhcmFjdGVycyBIZWFkZXIKdm9pZCBSZXZlcnNlQ2hhcihjb25zdCBjaGFyICpzdHJJTiwgY2hhciAqc3RyT1VULCBpbnQgJmxlbmd0aCk7CgppbnQgbWFpbigpIAp7Ci8vREFUQSBESUNUSU9OQVJZCi8vSW5wdXQKCWludCBTSVpFID0gMTAxOwoJY2hhciBzdHJJTiBbU0laRV07CgovL091dHB1dAoJaW50IGxlbmd0aDsKCWNoYXIgc3RyT1VUIFtTSVpFXTsKCi8vSU5QVVQJCgkvL0lucHV0IFN0cmluZwoJY2luLmdldGxpbmUgKHN0cklOLCBTSVpFKTsKCi8vUFJPQ0VTUwoJLy9SZXZlcnNlIFN0cmluZwoJUmV2ZXJzZUNoYXIoc3RySU4sIHN0ck9VVCwgbGVuZ3RoKTsKCi8vT1VUT1VUCgkvL1VzZXIgSW5wdXQgU3RyaW5nCgljb3V0IDw8ICJVc2VyIElucHV0dGVkOiIgPDwgZW5kbDsKCWNvdXQgPDwgc3RySU4gPDwgZW5kbCA8PCBlbmRsOwoJCgkvL1JldmVyc2UgU3RyaW5nCgljb3V0IDw8ICJSZXZlcnNlIFN0cmluZyBpczoiIDw8IGVuZGw7Cgljb3V0IDw8IHN0ck9VVCA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQoKLy9SZXZlcnNlIENoYXJhY3RlciBEZWYKdm9pZCBSZXZlcnNlQ2hhcihjb25zdCBjaGFyICpzdHJJTiwgY2hhciAqc3RyT1VULCBpbnQgJmxlbmd0aCkKewoJbGVuZ3RoID0gc3RybGVuIChzdHJJTik7CgkKCWZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCgl7CgkJc3RyT1VUW2ldID0gc3RySU5bbGVuZ3RoIC0gMSAtIGldOwoJfQoJCglzdHJPVVRbbGVuZ3RoXSA9ICdcMCc7Cn0=