Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct nod
- {
- int info;
- nod *dr,*st;
- };
- nod *prim,*ultim;
- ifstream f("date.in");
- void creare()
- {
- nod *nou;
- int x;
- while(f>>x)
- if(prim==NULL)
- {
- prim=new nod;
- prim->info=x;
- prim->st=NULL;
- ultim=prim;
- }
- else
- {
- nou=new nod;
- nou->info=x;
- nou->st=ultim;
- ultim->dr=nou;
- ultim=nou;
- }
- ultim->dr=NULL;
- }
- void parcurgere_st()
- {
- nod *p=ultim;
- while(p!=NULL)
- {
- if(p->info%2==1)
- cout<<p->info<<" ";
- p=p->st;
- }
- cout<<'\n';
- }
- void parcurgere_dr()
- {
- nod *p=prim;
- while(p!=NULL)
- {
- if(p->info%2==1)
- cout<<p->info<<" ";
- p=p->dr;
- }
- void inserare()
- {
- nod *p=prim;
- while(p->info%2==0 && p!=NULL)
- p=p->dr;
- if(p!=NULL)
- {
- nod *nou;
- nou=new nod;
- nou->info=p->info*p->info;
- nou->dr=p->dr;
- nou->st=p;
- p->dr->st=nou;
- p->dr=nou;
- }
- }
- void stergere()
- {
- //stergem ultimul nod cu info para;
- nod *p=ultim,*q,*r;
- while(p->info%2==1 && p!=NULL)
- p=p->st;
- q=p->dr;
- r=p->st;
- r->dr=q;
- q->st=r;
- delete p;
- }
- int main()
- {
- creare();
- parcurgere_st();
- parcurgere_dr();
- inserare();
- stergere();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement