Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAX 100
- typedef struct pilha{
- int dado[MAX];
- int topo;
- } stack;
- void makestck(stack *p){
- p->topo = -1;
- return;
- }
- int isempty(stack *p){
- return p->topo == -1;
- }
- int isfull(stack *p){
- return p->topo == MAX - 1;
- }
- void insert(int x, stack *p){
- if(isfull(p)) printf("Pilha Cheia\n");
- else
- {
- p->topo++;
- p->dado[p->topo] = x;
- }
- }
- int removi(stack *p)
- {
- if(!isempty(p))
- {
- return p->dado[p->topo--];
- }
- else return -1;
- }
- int main()
- {
- stack k, q;
- makestck(&k);
- makestck(&q);
- int number;
- int i;
- for(i = 0; i < 50; ++i)
- {
- scanf("%d", &number);
- if(number == 0) {int wtv = removi(&k); int mwtv = removi(&q);}
- else if(number>0) insert(number, &k);
- else if(number<0) insert(number, &q);
- }
- printf("Numeros negativos: ");
- while(!isempty(&q))
- {
- printf("%d ", removi(&q));
- }
- printf("\nNumeros positivos: ");
- while(!isempty(&k))
- {
- printf("%d ", removi(&k));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement