Ответы
Ответ дал:
2
Задача вырвана из контекста. Не понятно, нужен тебе именно метод или просто функция. Если метод, то в рамках какого класса и почему бы тогда не передавать аргументом саму точку?
Сделал метод в рамках класса Точка. Есть две перегрузки: для координат и для самой точки. Если нужна именно функция, то можно просто вырвать метод с координатами, а сам класс удалить.
- #include <iostream>
- #include <cmath>
- #include <limits>
- constexpr double eps = std::numeric_limits<double>::epsilon();
- using namespace std;
- class Point
- {
- public:
- double X;
- double Y;
- static int Locate(double x, double y)
- {
- if (fabs(x) <= eps || fabs(y) <= eps)
- return -1;
- const int quadrants[2][2] = {{1,4},{2,3}};
- return quadrants[signbit(x)][signbit(y)];
- }
- static int Locate(Point& point)
- {
- return Point::Locate(point.X, point.Y);
- }
- };
- int main() {
- Point p{ X: -4, Y:-5 };
- cout << "Передаём только координаты: " << Point::Locate(p.X, p.Y) << endl;
- cout << "Передаём точку целиком: " << Point::Locate(p) << endl;
- return 0;
- }
Приложения:

Аноним:
Спасибо большое
Вас заинтересует
1 год назад
1 год назад
2 года назад
2 года назад
7 лет назад
7 лет назад
8 лет назад
8 лет назад