Автор: Мириам (27.05.2010 в 08:50)
#include<fstream>
#include<string>
using namespace std;
struct stack{
string inf;
stack *next;};
stack *initstack(){
return NULL;};
void pushstack(stack *&h,string i){
stack*r=new stack;
r->inf=i;
if(h==NULL) r->next=NULL;
else r->next=h;
h=r;}
string popstack(stack *&h){
stack*r=h;
string i=r->inf;
h=r->next;
delete r;
return i;
}
int main(){
stack *h,*h1;
int s=0;string i,l,c;
h=initstack();
h1=initstack();
ifstream in("in.txt");
ofstream out("out.txt");
while(!in.eof())
{
in>>c;
pushstack(h,c);
}
l=popstack(h);
pushstack(h1,l);
while (h!=NULL)
{
i=popstack(h);
if(l!=i)pushstack(h1,i);
else s++;
}
while(h1!=NULL)
{
out<<popstack(h1)<<' ';
}out<<s;
return 0;
}