#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define sizenum 300
#define maxsize 300
typedef char element;
typedef struct
{
element *top;
element *base;
int stsize;
}Sq;
int intistack(Sq * L)
{
L->base=(element *)malloc(maxsize*sizeof(element));
if(!L->base)
{
return -1;
}
L->top=L->base;
L->stsize=maxsize;
return 0;
}
int empty(Sq * L)
{
if(L->base==L->top)
{
return 1;
}
else return 0;
}
int push(Sq * L,char *a)
{
if(L->top-L->base>L->stsize)
{
L->base=(element *)realloc(L->base,(L->stsize+sizenum)*sizeof(element));
if(!L->base)
{
return -1;
}
L->top=L->base+L->stsize;
L->stsize+=sizenum;
}
*(++L->top)=*a;
return 0;
}
void chuli(Sq * L,char s[])
{
int i,len=strlen(s);
for(i=0;i<len;i++)
{
if(s[i]!='#'&&s[i]!='@')
{
push(L,&s[i]);
}
else if(s[i]=='#'&&L->top>L->base)
{
L->top--;
}
else if(s[i]=='@')
{
L->top=L->base;
}
}
}
void display(Sq * L)
{
while(L->top>L->base)
{
printf("%c",*(++L->base));
}
printf("\n");
}
int main()
{
char s[maxsize];
Sq L;
while(gets(s)!=NULL)
{
intistack(&L);
chuli(&L,s);
display(&L);
}
return 0;
}
#include<stdlib.h>
#include<string.h>
#define sizenum 300
#define maxsize 300
typedef char element;
typedef struct
{
element *top;
element *base;
int stsize;
}Sq;
int intistack(Sq * L)
{
L->base=(element *)malloc(maxsize*sizeof(element));
if(!L->base)
{
return -1;
}
L->top=L->base;
L->stsize=maxsize;
return 0;
}
int empty(Sq * L)
{
if(L->base==L->top)
{
return 1;
}
else return 0;
}
int push(Sq * L,char *a)
{
if(L->top-L->base>L->stsize)
{
L->base=(element *)realloc(L->base,(L->stsize+sizenum)*sizeof(element));
if(!L->base)
{
return -1;
}
L->top=L->base+L->stsize;
L->stsize+=sizenum;
}
*(++L->top)=*a;
return 0;
}
void chuli(Sq * L,char s[])
{
int i,len=strlen(s);
for(i=0;i<len;i++)
{
if(s[i]!='#'&&s[i]!='@')
{
push(L,&s[i]);
}
else if(s[i]=='#'&&L->top>L->base)
{
L->top--;
}
else if(s[i]=='@')
{
L->top=L->base;
}
}
}
void display(Sq * L)
{
while(L->top>L->base)
{
printf("%c",*(++L->base));
}
printf("\n");
}
int main()
{
char s[maxsize];
Sq L;
while(gets(s)!=NULL)
{
intistack(&L);
chuli(&L,s);
display(&L);
}
return 0;
}