Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- struct nod
- { int inf;
- nod *urm;
- };
- typedef struct nod NOD;
- NOD *cap, *p, *noulnod;
- int main()
- {
- int n;
- ifstream f("circularlistinsert.in");
- ofstream g("circularlistinsert.out");
- f>>n;
- p=new NOD;cap=p; /// Cream primul nod
- f>>p->inf; p->urm=NULL;
- for(int i=2;i<=n;++i) /// Adaugam urmatoarele n-1 noduri
- {
- noulnod=new NOD;
- f>>noulnod->inf;
- p->urm=noulnod;
- p=noulnod;
- }
- noulnod->urm=cap; /// Facem lista circulara
- int m,x;
- f>>m;
- p=cap;
- while(m--)
- {
- f>>x;
- for(int i=1;i<=x;++i) /// Ne deplasam cu x pozitii in lista
- p=p->urm;
- noulnod=new NOD; /// Cream un nou nod si facem legaturile
- noulnod->inf=2*p->inf;
- noulnod->urm=p->urm;
- p->urm=noulnod;
- p=noulnod;
- }
- p=cap; /// Afisam lista
- do
- {
- g<<p->inf<<' ',p=p->urm;
- } while(p!=cap);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement