Advertisement
semkaegor4ik

algorithm 4

Jul 3rd, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. //Алгоритм г
  2. //расположить в порядке удаления о начала координат, сохраняя исходный порядок при одинаковом расстоянии
  3. #include <iostream>
  4. #include <conio.h>
  5. #include <algorithm>
  6. #include <vector>
  7. #include <iomanip>
  8. #include <fstream>
  9. using namespace std;
  10. ifstream in("input.txt");
  11. ofstream out("output.txt");
  12. class Point                                 //создаем класс точки
  13. {
  14. public:
  15.     int x, y;
  16.     Point(int x, int y)                     //структура класса
  17.     {
  18.         this->x = x;
  19.         this->y = y;
  20.     }
  21.     double GetP()                           //метод, возвращающий расстояние от начала с.к. до точки
  22.     {
  23.         return sqrt(x * x + y * y);
  24.     }
  25.     friend ostream& operator << (ostream &out, const Point &point); //оператор, выводящий точку
  26. };
  27. ostream& operator<< (std::ostream &out, const Point &point)
  28. {
  29.     out << "(" << setw(2) << point.x << setw(2) << " , " << setw(2) << point.y << setw(2) << ")";
  30.     return out;
  31. }
  32.  
  33.  
  34. int main()
  35. {
  36.     setlocale(LC_ALL, "ru");
  37.     vector <Point> p;
  38.     int x, y, max = 0;
  39.     while (in >> x >> y)                            //заполняем вектор точками
  40.     {
  41.         p.push_back(*new Point(x, y));
  42.     }
  43.     if (p.empty())
  44.         out << "файл пуст";
  45.     sort(p.begin(), p.end(), [](Point a, Point b)   //стортируем точки по их расстоянию
  46.     {
  47.         return (a.GetP() < b.GetP());
  48.     });
  49.     for (auto it : p)                               //выводим элементы вектора
  50.         out << it << endl;
  51.     out.close();
  52.     in.close();
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement