Advertisement
Guest User

Untitled

a guest
May 20th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. Please comment below, If you find any difficulty in understanding
  2.  
  3. Please Upvote the answer, If you are impressed
  4.  
  5. Answer :
  6.  
  7. # include<stdio.h>
  8. # include <stdlib.h>
  9. int stack[10];
  10. int MAX=10;
  11. int left=-1;
  12. int right=-1;
  13. void input_right(){
  14. int num;
  15. printf("enter element");
  16. scanf("%d",&num);
  17. if((left==0 && right==MAX-1)|| left==right+1){
  18. printf("Overflow");
  19. }
  20. else if(left==-1 && right ==-1){
  21. left++;
  22. right++;
  23. stack[left]=num;
  24. }
  25. else if(left!=0 && right==MAX-1){
  26. right=0;
  27. stack[right]=num;
  28. }
  29. else{
  30. right++;
  31. stack[right]=num;
  32. }
  33. }
  34. void input_left(){
  35. int num;
  36. printf("enter element");
  37. scanf("%d",&num);
  38. if((left==0 && right==MAX-1)|| left==right+1){
  39. printf("Overflow");
  40. }
  41. else if(left==-1 && right ==-1){
  42. left++;
  43. right++;
  44. stack[left]=num;
  45. }
  46. else if(left==0 && right!=MAX-1){
  47. left=MAX-1;
  48. stack[left]=num;
  49. }
  50. else{
  51. left--;
  52. stack[left]=num;
  53. }
  54. }
  55. void delete_left(){
  56. if (left==-1 && right==-1){
  57. print("Overflow");
  58. }
  59. else if(left==right){
  60. left=-1;
  61. right=-1;
  62. }
  63. else if(left==MAX-1){
  64. stack[MAX-1]=0;
  65. left=0;
  66. }
  67. else{
  68. stack[left]=0;
  69. left++;
  70. }
  71. }
  72. void delete_right(){
  73. if (left==-1 && right==-1){
  74. print("Overflow");
  75. }
  76. else if(left==right){
  77. left=-1;
  78. right=-1;
  79. }
  80. else if(right==0){
  81. stack[0]=0;
  82. right=MAX-1;
  83. }
  84. else{
  85. stack[right]=0;
  86. right--;
  87. }
  88. }
  89. void display(){
  90. int i;
  91. for (i=0; i<MAX;i++){
  92. printf("%d\t",stack[i]);
  93. }
  94. }
  95. int main(){
  96. int i, j;
  97. printf("\n1-input resticted \n 2-output resticted");
  98. scanf("%d",&i);
  99. if (i==1){
  100. do{
  101. printf("\n 1- insert right\n2-delete left\n3-delete right\n4-exit\n");
  102. scanf("%d",&j);
  103. switch(j){
  104. case 1:
  105. input_right();
  106. break;
  107. case 2:
  108. delete_left();
  109. case 3:
  110. delete_right();
  111. case 4:
  112. exit(0);
  113. break;
  114. }
  115.  
  116. }while(1);
  117. }
  118. else if(i==2){
  119. do{
  120. printf("\n 1- insert right\n2-insert left\n3-delete left\n4-exit\n");
  121. scanf("%d",&j);
  122. switch(j){
  123. case 1:
  124. input_right();
  125. break;
  126. case 2:
  127. input_left();
  128. case 3:
  129. delete_left();
  130. case 4:
  131. exit(0);
  132. break;
  133.  
  134. }
  135. }while(1);
  136. }
  137. else
  138. printf("wrong option ");
  139.  
  140. display();
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement