Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define MAX 100
  4.  
  5. typedef struct pilha{
  6.     int dado[MAX];
  7.     int topo;
  8. } stack;
  9.  
  10. void makestck(stack *p){
  11.     p->topo = -1;
  12.     return;
  13. }
  14.  
  15. int isempty(stack *p){
  16.     return p->topo == -1;
  17. }
  18.  
  19. int isfull(stack *p){
  20.     return p->topo == MAX - 1;
  21. }
  22.  
  23.  
  24. void insert(int x, stack *p){
  25.     if(isfull(p)) printf("Pilha Cheia\n");
  26.     else
  27.     {
  28.         p->topo++;
  29.         p->dado[p->topo] = x;
  30.     }
  31.  
  32. }
  33.  
  34. int removi(stack *p)
  35. {
  36.     if(!isempty(p))
  37.     {
  38.         return p->dado[p->topo--];
  39.     }
  40.     else return -1;
  41. }
  42.  
  43. int main()
  44. {
  45.  
  46.  
  47.     stack k, q;
  48.     makestck(&k);
  49.     makestck(&q);
  50.     int number;
  51.     int i;
  52.     for(i = 0; i < 50; ++i)
  53.         {
  54.             scanf("%d", &number);
  55.             if(number == 0) {int wtv = removi(&k); int mwtv = removi(&q);}
  56.             else if(number>0) insert(number, &k);
  57.             else if(number<0) insert(number, &q);
  58.         }
  59.     printf("Numeros negativos: ");
  60.     while(!isempty(&q))
  61.     {
  62.         printf("%d ", removi(&q));
  63.     }
  64.     printf("\nNumeros positivos: ");
  65.     while(!isempty(&k))
  66.     {
  67.         printf("%d ", removi(&k));
  68.     }
  69.  
  70.  
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement