document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX 100
  5.  
  6. /*varabel stack */
  7. int top=-1;
  8. int item;
  9. /***************/
  10.  
  11. char stack_string[MAX];
  12. void pushChar(char item);
  13. char popChar(void);
  14. int isEmpty(void);
  15. int isFull(void);
  16.  
  17.  
  18. int main()
  19. {
  20.     char str[MAX];
  21.    
  22.     int i;
  23.    
  24.     printf("masukkan string: ");
  25.     scanf("%[^\\n]s",str); /*untuk membaca string dengan spasi */
  26.    
  27.    
  28.     for(i=0;i<strlen(str);i++)
  29.         pushChar(str[i]);
  30.        
  31.     for(i=0;i<strlen(str);i++)
  32.         str[i]=popChar();
  33.  
  34.     printf("kebalikan string adalah : %s\\n",str);
  35.    
  36.     return 0;
  37. }
  38.  
  39.  
  40. /*ungsi untuk memasukkan string kedalam stack*/
  41. void pushChar(char item)
  42. {
  43.     /*mengecek apakah stack full atau tidak*/
  44.     if(isFull())
  45.     {
  46.         printf("\\nStack FULL !!!\\n");
  47.         return;
  48.     }
  49.    
  50.     /*menaikkan nilai TOS dan memasukkan string jedalam stack*/
  51.     top=top+1;
  52.     stack_string[top]=item;
  53. }
  54.  
  55. /*fungsi untuk mengambil data dalam stack*/
  56.  char popChar()
  57. {
  58.     /*mengecek apakah stack kosng atau tidak*/
  59.     if(isEmpty())
  60.     {
  61.         printf("\\nStack Kosong!!!\\n");
  62.         return 0;
  63.     }
  64.  
  65.     /*mem-pop item dan decrement nilai TOS*/
  66.     item = stack_string[top];
  67.     top=top-1;
  68.     return item;
  69. }
  70.  
  71.  
  72. /*fungsi untuk mengecek apakah stack kosong atau tidak*/
  73. int isEmpty()
  74. {
  75.     if(top==-1)
  76.         return 1;
  77.     else
  78.         return 0;
  79. }
  80.  
  81. /*fungsi untuk mengecek apakah stack penuh atau tidak*/
  82. int isFull()
  83. {
  84.     if(top==MAX-1)
  85.         return 1;
  86.     else
  87.         return 0;
  88. }
');