Expand|Select|Wrap|Line Numbers
- #include<stdio.h>
- #include<conio.h>
- int top[5];
- int bot[5];
- void main()
- {
- int a[50]={0} ;
- int length,num;
- int ch;
- int temp,x,st_no,st_no1;
- int b,i,j,k;
- clrscr();
- printf("Enter the length of the total stack: ");
- scanf("%d",&length);
- printf("\nEnter the number of stacks: ");
- scanf("%d",&num);
- //divinding the arrays into stacks
- b=(length)/(num);
- top[0]=0;
- bot[0]=0;
- for(i=1;i<num;i++)
- {
- top[i]=top[i-1]+b;
- bot[i]=bot[i-1]+b;
- }
- do
- {
- printf("\n1.PUSH 2.POP 3.PRINT 4.EXIT \n");
- printf("Enter the choice: ");
- scanf("%d",&ch);
- switch(ch)
- {
- case 1:
- printf("Enter the stack number: ");
- scanf("%d",&st_no);
- if(top[st_no-1]==bot[st_no] || top[st_no-1]==length)
- printf("\n\n\n!!THE %d STACK IS FULL\n",st_no);
- else
- {
- printf("ENTER THE ELEMENT TO BE PUSHED");
- scanf("%d",&x);
- a[top[st_no-1]]=x;
- top[st_no-1]=top[st_no-1]+1;
- }
- break;
- //-------------------------------------------------------
- case 2:
- printf("\nENTER THE STACK NUMBER");
- scanf("%d",&st_no1);
- printf("\nThe stack you have choosen is %d",st_no1-1);
- printf("-----%d-----",a[top[(st_no-1)]]);
- if(top[st_no-1]==bot[st_no-1])
- printf("\n!STACK EMPTY!\n");
- else
- {
- printf("\nDELETED ELMENT IS: %d\n",a[top[st_no1-1]]);
- top[st_no1-1]=top[st_no1-1]-1;
- }
- break;
- //----------------------------------------------------------
- case 3:
- k=0;
- for(i=0;i<num;i++)
- {
- printf("\nThe elements in stack %d are: ",i+1);
- for(j=0;j<b;j++)
- {
- printf("%d->",a[i+j+k]);
- }
- k=k+b-1;
- }
- break;
- }
- }
- while(ch<4);
- getch();
- }