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 *urm;};
- ifstream f("lista1.txt");
- int n;
- nod *p , *q , *prim;
- void init(nod *&prim,nod *&ultim)
- {
- prim=ultim=NULL;
- }
- void adauga_nod(nod *&prim,nod *&ultim)
- {
- prim=new nod;
- prim->info=n;
- prim->urm=NULL;
- ultim=prim;
- }
- void adauga_ultim(nod *&ultim)
- {
- nod *p=new nod;
- p->info=n;
- p->urm=NULL;
- ultim->urm=p;
- ultim=p;
- }
- void adauga_dupa(nod *&q, nod *&ultim)
- {
- nod *p=new nod;
- p->info=100;
- p->urm=q->urm;
- q->urm=p;
- if(q==ultim)ultim=p;
- }
- int distincte(nod *prim)
- {
- for (nod *p=prim;p->urm!=NULL;p=p->urm)
- for(nod *q=p->urm;q!=NULL;q=q->urm)
- if (p->info==q->info) return 0;
- return 1;
- }
- void prelucrare(nod *prim, nod *&ultim)
- {
- for(nod *p=prim;p!=NULL;p=p->urm)
- if(p->info%2==1) adauga_dupa(p,ultim);
- }
- void afisare(nod *prim)
- {
- for (nod *p=prim;p!=NULL;p=p->urm)
- cout<<p->info<<" ";
- cout<<endl;
- }
- int main()
- {
- nod *prim, *ultim;
- f>>n;
- adauga_nod(prim,ultim);
- while (f>>n) adauga_ultim(ultim);
- f.close();
- if(distincte(prim))cout<<"elementele sunt distincte"<<endl;
- else cout <<"elementele nu sunt distincte"<<endl;
- prelucrare(prim,ultim); afisare(prim);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement