#include <stdio.h>
#include <string.h>
#define MAX 100 /*maximum no. of characters*/
/*stack variables*/
int top=-1;
int item;
/***************/
/*string declaration*/
char stack_string[MAX];
/*function to push character (item)*/
void pushChar(char item);
/*function to pop character (item)*/
char popChar(void);
/*function to check stack is empty or not*/
int isEmpty(void);
/*function to check stack is full or not*/
int isFull(void);
int main()
{
char str[MAX];
int i;
scanf("%[^\n]s",str
); /*read string with spaces*/ /*gets(str);-can be used to read string with spaces*/
pushChar(str[i]);
str[i]=popChar();
printf("Reversed String is: %s\n",str
);
return 0;
}
/*function definition of pushChar*/
void pushChar(char item)
{
/*check for full*/
if(isFull())
{
printf("\nStack is FULL !!!\n"); return;
}
/*increase top and push item in stack*/
top=top+1;
stack_string[top]=item;
}
/*function definition of popChar*/
char popChar()
{
/*check for empty*/
if(isEmpty())
{
printf("\nStack is EMPTY!!!\n"); return 0;
}
/*pop item and decrease top*/
item = stack_string[top];
top=top-1;
return item;
}
/*function definition of isEmpty*/
int isEmpty()
{
if(top==-1)
return 1;
else
return 0;
}
/*function definition of isFull*/
int isFull()
{
if(top==MAX-1)
return 1;
else
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCiNkZWZpbmUgTUFYIDEwMAkvKm1heGltdW0gbm8uIG9mIGNoYXJhY3RlcnMqLwoKLypzdGFjayB2YXJpYWJsZXMqLwppbnQgdG9wPS0xOwppbnQgaXRlbTsKLyoqKioqKioqKioqKioqKi8KCi8qc3RyaW5nIGRlY2xhcmF0aW9uKi8KY2hhciBzdGFja19zdHJpbmdbTUFYXTsKCi8qZnVuY3Rpb24gdG8gcHVzaCBjaGFyYWN0ZXIgKGl0ZW0pKi8Kdm9pZCBwdXNoQ2hhcihjaGFyIGl0ZW0pOwoKLypmdW5jdGlvbiB0byBwb3AgY2hhcmFjdGVyIChpdGVtKSovCmNoYXIgcG9wQ2hhcih2b2lkKTsKCi8qZnVuY3Rpb24gdG8gY2hlY2sgc3RhY2sgaXMgZW1wdHkgb3Igbm90Ki8KaW50IGlzRW1wdHkodm9pZCk7CgovKmZ1bmN0aW9uIHRvIGNoZWNrIHN0YWNrIGlzIGZ1bGwgb3Igbm90Ki8KaW50IGlzRnVsbCh2b2lkKTsKIAppbnQgbWFpbigpCnsKICAgIGNoYXIgc3RyW01BWF07CiAgICAKICAgIGludCBpOwogICAgCiAgICBwcmludGYoIklucHV0IGEgc3RyaW5nOiAiKTsKICAgIHNjYW5mKCIlW15cbl1zIixzdHIpOyAvKnJlYWQgc3RyaW5nIHdpdGggc3BhY2VzKi8KICAgIC8qZ2V0cyhzdHIpOy1jYW4gYmUgdXNlZCB0byByZWFkIHN0cmluZyB3aXRoIHNwYWNlcyovCiAgICAKICAgIGZvcihpPTA7aTxzdHJsZW4oc3RyKTtpKyspCiAgICAgICAgcHVzaENoYXIoc3RyW2ldKTsKICAgICAgICAKICAgIGZvcihpPTA7aTxzdHJsZW4oc3RyKTtpKyspCiAgICAgICAgc3RyW2ldPXBvcENoYXIoKTsKCiAgICBwcmludGYoIlJldmVyc2VkIFN0cmluZyBpczogJXNcbiIsc3RyKTsKICAgIAogICAgcmV0dXJuIDA7Cn0KIAovKmZ1bmN0aW9uIGRlZmluaXRpb24gb2YgcHVzaENoYXIqLwp2b2lkIHB1c2hDaGFyKGNoYXIgaXRlbSkKewogICAgLypjaGVjayBmb3IgZnVsbCovCiAgICBpZihpc0Z1bGwoKSkKICAgIHsKICAgICAgICBwcmludGYoIlxuU3RhY2sgaXMgRlVMTCAhISFcbiIpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgLyppbmNyZWFzZSB0b3AgYW5kIHB1c2ggaXRlbSBpbiBzdGFjayovCiAgICB0b3A9dG9wKzE7CiAgICBzdGFja19zdHJpbmdbdG9wXT1pdGVtOwp9CiAKLypmdW5jdGlvbiBkZWZpbml0aW9uIG9mIHBvcENoYXIqLwogY2hhciBwb3BDaGFyKCkKewogICAgLypjaGVjayBmb3IgZW1wdHkqLwogICAgaWYoaXNFbXB0eSgpKQogICAgewogICAgICAgIHByaW50ZigiXG5TdGFjayBpcyBFTVBUWSEhIVxuIik7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgLypwb3AgaXRlbSBhbmQgZGVjcmVhc2UgdG9wKi8KICAgIGl0ZW0gPSBzdGFja19zdHJpbmdbdG9wXTsKICAgIHRvcD10b3AtMTsKICAgIHJldHVybiBpdGVtOwp9CiAKLypmdW5jdGlvbiBkZWZpbml0aW9uIG9mIGlzRW1wdHkqLwppbnQgaXNFbXB0eSgpCnsKICAgIGlmKHRvcD09LTEpCiAgICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIDA7Cn0KCi8qZnVuY3Rpb24gZGVmaW5pdGlvbiBvZiBpc0Z1bGwqLyAKaW50IGlzRnVsbCgpCnsKICAgIGlmKHRvcD09TUFYLTEpCiAgICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIDA7Cn0=