fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3. #define SIZE 30
  4. struct stack
  5. {
  6. int top;
  7. char st[SIZE];
  8. }s;
  9.  
  10. void push(char x)
  11. {
  12. if(s.top==SIZE-1)printf("Stack is full");
  13. else s.st[++s.top]=x;
  14. }
  15.  
  16. int pop()
  17. {
  18. if(s.top==-1)
  19. {
  20. printf("Stack is empty");
  21. return (int)'\0';
  22. }
  23. else
  24. {
  25. char x=s.st[s.top];
  26. s.top--;
  27. return (int)x;
  28. }
  29. }
  30.  
  31. int main()
  32. {
  33. int size,i=0;
  34. s.top=-1;
  35. printf("Enter size:");
  36. scanf("%d",&size);
  37. char string[size],x;
  38. printf("Enter string:");
  39. //scanf("%s",string);
  40. for(i=0;i<size;i++)
  41. {
  42. scanf("%c",string[i]);
  43. }
  44. //gets(string);
  45. /*while(x!='\0')
  46.   {
  47.   x=getchar();
  48.   string[i]=x;
  49.   i++;
  50.   }*/
  51. int l=strlen(string);i=0;
  52. while(i<l)
  53. {
  54. push(string[i]);
  55. i++;
  56. }
  57. i=0;
  58. char string2[l];
  59. while(i<l)
  60. {
  61. string2[i]=(char)pop();
  62. i++;
  63. }
  64. printf("\nReversed text=%s",string2);
  65. if(strcmp(string,string2)==0)printf("\nText is palindrome\n");
  66. else printf("\nText is not palindrome\n");
  67. return 0;
  68. }
Success #stdin #stdout 0s 9432KB
stdin
7
abc cbb
stdout
Enter size:Enter string:
Reversed text=
Text is palindrome