Advertisement
Guest User

Untitled

a guest
Oct 12th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. struct stack{
  5. int data;
  6. stack* prev;
  7. stack* top;
  8. };
  9.  
  10. stack *top = NULL;
  11.  
  12. void push(int a){
  13. stack *p = new stack();
  14. p -> data = a;
  15. p -> prev = top;
  16. top = p;
  17. printf("ok\n");
  18. }
  19.  
  20. int pop(){
  21. if(top == NULL){
  22. printf("error");
  23. return 0;
  24. }
  25. int ans = top -> data;
  26. top = top -> prev;
  27. return ans;
  28. }
  29.  
  30. int size(){
  31.  
  32. int count = 0;
  33. while(top != NULL){
  34. count++;
  35. top = top -> prev;
  36. }
  37. return count;
  38. }
  39.  
  40. int back (){
  41. if(top == NULL){
  42. printf("error");
  43. return 0;
  44. }
  45. return top -> data;
  46.  
  47. }
  48. void exit(){
  49. printf("bye");
  50. }
  51.  
  52. void clear(){
  53. stack *top = NULL;
  54. printf("ok\n");
  55. }
  56.  
  57. int main(){
  58. int num;
  59. char str[6];
  60. str[1] = 0;
  61. while(str[1] != 'x'){
  62. scanf("%s", str);
  63. if(str[1] == 'u'){
  64. scanf("%d", &num);
  65. push(num);
  66. }
  67. if(str[1] == 'o'){
  68. printf("%d\n", pop());
  69. }
  70. if(str[1] == 'i'){
  71. printf("%d\n", size());
  72.  
  73. }
  74. if(str[1] == 'a'){
  75. printf("%d\n", back());
  76. }
  77. if(str[1] == 'l'){
  78. clear();
  79. }
  80. if(str[1] == 'x'){
  81. exit();
  82. }
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement