Oczywiście zgadzam się, dlatego napisałem: gdyby były “prawdziwe”. Niektórzy wrzucają wszystko do jednej klasy jak do worka, aby np pozbyć się zmiennych globalnych itp i wydaje się im, że tworzą dobry obiektowy kod. Czy tutaj tak jest? Częściowo tak, ze względu na te dwie funkcje.
ok chociaż ja jestem już w najwyższej grupie ryzyka 
===
Co do polepszenia kodu, to jeszcze pare uwag:
zamiast:
if(i<=n-2)
{
tabpunk ++;
}
Ja napisałbym tak:
if (i <= n - 2) {
...
++tabpunk;
}
a gdy jest tylko jedna instrukcja to bez nawiasów:
if (..)
++tabpunk;
podobnie nie:
cout << (2 + (4 * 5)) << endl;
tylko
cout << 2 + 4 * 5 << '\n';
@michalkol3, w jednym miejscu masz:
int c, d;
i właśnie tak bym to pisał wszędzie, np:
int x, y;
W zadaniach na spoju, autor często używa konkretnych oznaczę, np t, n itd
Więc można użyć takich samych i bez konieczności komentowania.
n, m - ilości
x, y, z, - wiadomo
i, j, k - np indeksy/liczniki pętli
a, b, c - w zależności od treści
pkt.x, pkt[2].z itd
Pierwsza [najważniejsza zasada/prawo inżynierii] jeżeli coś działa to nie kombinuj i nie poprawiaj - zostaw w spokoju, nie eksperymentuj na “żywym ciele”
Ale Ty ani nie jesteś chyba jeszcze ani inżynierem, ani twój kod nie jest krytycznym programem systemowym. Dopiero się uczysz i tu na spoju masz okazję nie tylko “zaliczać” na AC, ale i próbować, eksperymentować, zmieniać, bawić się swoim kodem i się uczyć.
PS
nie wiem co wcisnąłem powyżej - ale …
W takim razie, gdy jednak chcę to zadanie zrobić z klasą, to jak podejść?
Ja gdybym był mniej leniwy, użyłbym:
klasa punkt
klasa zbiorpunktow <-- gdzie składowa jest kontener klasy punkt.
A że jestem, skorzystałem z STL.
PS 2
Zamiast sprawdzać czy:
sqrt ( x1² + y1² ) >/< sqrt ( x2² + y2² )
po podniesieniu obu stron do kwadratu wystarczy:
x1² + y1² >/< x2² + y2²
Zamiast sortować contener obiektów, można posortować tylko tablicę [lub kontener] wskaźników do obiektów, bez fizycznego kopiowania samych obiektów.
Jeżeli potraktujemy nasz zbiór punktów jako małą bazę danych, to pamiętanie w niej odległości [lub sumy kwadratów] jest informacją nadmiarową [redudendną] i nie potrzebną. Można tą wartość obliczać na bierząco w momencie porównywania punktów i nie koniecznie będzie to wolniejsza metoda.