SHARE
TWEET

Untitled

a guest May 20th, 2019 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top