#include #include #include #include #include using namespace std; class Punkt{ public: double x, y; double kaugusNullist(){ return sqrt(x*x+y*y); } double kaugusPunktist(Punkt p){ //eukleidiline double dx=p.x-x; double dy=p.y-y; return sqrt(dx*dx+dy*dy); } double manchesteriKaugus(Punkt p){ //mööda risti olevaid tänavaid double dx=p.x-x; double dy=p.y-y; if(dx<0){dx=-dx;} if(dy<0){dy=-dy;} return dx+dy; } string tekstina(){ ostringstream vastus; vastus << "(" << x << "," << y << ")"; return vastus.str(); } }; //Lisage kujundile käsk "tekstina", kus kuvatakse kõigi punktide koordinaadid class Kujund{ vector punktid; public: string tekstina(){ ostringstream vastus; for(int i=0; i suurimDiameeter(){ pair vastus; vastus.first.x=11; cout << punktid[0].y << " " << punktid.size() << endl; //Tagastage paar kahe teinetesest kõige kaugemal asuva punktiga double suurimKaugus=0; int kust, kuhu; for(int i=0; isuurimKaugus){ suurimKaugus=kaugus; kust=i; kuhu=j; } } } vastus.first=punktid[kust]; vastus.second=punktid[kuhu]; return vastus; } }; int main(void){ Kujund k; k.lisaPunkt(2, 2); k.lisaPunkt(4, 2); k.lisaPunkt(2, 6); k.lisaPunkt(5, 7); cout << k.tekstina() << endl; pair v=k.suurimDiameeter(); cout << v.first.x << " " << v.first.y << " - " << v.second.x << " " << v.second.y << endl; return 0; }