Вот, что я набросал. Прикол в том, что не все координаты высчитываются корректно. Хотелось бы пояснений на этот счет) #include <iostream> using namespace std; void main() { setlocale(0, "Russian"); double x, y; cout << "Введите координаты точки : "; cin >> x >> y; if ((x > 0.8) && (x * x + y * y < 1) || (x < -0.5) && (x * x + y * y > 1)) cout << "Точка принадлежит области"; else if ((x < 0.8) && (x * x + y * y < 1) || x> 0.8 && (x * x + y * y > 1)) cout << "Точка не принадлежит области"; else cout << "Точка лежит на границе области" << endl; system("pause"); } C #include <iostream> using namespace std; void main() { setlocale(0, "Russian"); double x, y; cout << "Введите координаты точки : "; cin >> x >> y; if ((x > 0.8) && (x * x + y * y < 1) || (x < -0.5) && (x * x + y * y > 1)) cout << "Точка принадлежит области"; else if ((x < 0.8) && (x * x + y * y < 1) || x> 0.8 && (x * x + y * y > 1)) cout << "Точка не принадлежит области"; else cout << "Точка лежит на границе области" << endl; system("pause"); }
xFlow, попробуй это #include <iostream> using namespace std; int main() { setlocale(0, "Russian"); double x, y; cout << "Введите координаты точки : "; cin >> x >> y; if ((x > 0.8) && (x * x + y * y < 1) || (x < -0.5) && ( (x * x + y * y) > 1)) cout << "Точка принадлежит области"; else if ( (x == 0.8) &&( (x * x + y * y) <= 1) || ( (x == 0.5) && (y*y + x*x) >= 1 ) ) cout << "Точка лежит на границе области" << endl; else cout << "Точка не принадлежит области"; system("pause"); } C #include <iostream> using namespace std; int main() { setlocale(0, "Russian"); double x, y; cout << "Введите координаты точки : "; cin >> x >> y; if ((x > 0.8) && (x * x + y * y < 1) || (x < -0.5) && ( (x * x + y * y) > 1)) cout << "Точка принадлежит области"; else if ( (x == 0.8) &&( (x * x + y * y) <= 1) || ( (x == 0.5) && (y*y + x*x) >= 1 ) ) cout << "Точка лежит на границе области" << endl; else cout << "Точка не принадлежит области"; system("pause"); }