Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- struct punct
- {
- int x,y;
- };
- struct nod
- {
- punct info;
- nod *urm;
- };
- void Initializare(nod *&prim, nod *&ultim)
- {
- prim=ultim=NULL;
- }
- void Citire(nod *&prim,nod *&ultim)
- {
- punct x;
- cout<<"x=";cin>>x.x;
- cout<<"y=";cin>>x.y;
- if(prim==NULL)
- {
- prim= new nod;
- prim->info=x;
- prim->urm=NULL;
- ultim=prim;
- }
- else
- {
- nod *p=new nod;
- p->info=x;
- p->urm=NULL;
- ultim->urm=p;
- ultim=p;
- }
- }
- float Distanta(punct a, punct b)
- {
- return sqrt(float(b.x-a.x)*(b.x-a.x)+float(b.y-a.y)*(b.y-a.y));
- }
- void Stergere(nod *&prim, nod *&ultim, nod *&p)
- {
- if(p->urm==ultim)
- {
- p->urm=NULL;
- delete ultim;
- ultim=p;
- }
- else
- {
- nod *q=p->urm;
- p->urm=q->urm;
- delete q;
- }
- }
- void Verificare(nod *&prim, nod *&ultim)
- {
- for(nod *p=prim; p!=ultim; p=p->urm)
- for(nod *q=p->urm; q; q=q->urm)
- if(Distanta(p->info,q->info)>2.00)
- Stergere(prim,ultim,p);
- }
- void Afisare(nod *&prim, nod *&ultim)
- {
- for(nod *p=prim; p; p=p->urm)
- cout<<p->info.x<<" "<<p->info.y<<endl;
- }
- int main()
- {
- int n;
- nod *prim,*ultim;
- Initializare(prim,ultim);
- cout<<"Numarul de noduri: ";
- cin>>n;
- for(int i=0; i<n; i++)
- Citire(prim,ultim);
- Verificare(prim,ultim);
- Afisare(prim,ultim);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement