Напишите функцию bool is_point_in_circle(double x, double y, double xc, double yc, double r), которая проверит, что точка (x, y) находится строго внутри окружности с центром в точке (xc, yc) и радиусом r.
Сделайте так, что по умолчанию:
радиус круга равен 1;
все координаты равны 0.
С помощью этой функции решите задачу, в которой вам вводятся все 5 чисел, и программа должна вывести «YES», если точка находится внутри окружности, и «NO», если снаружи или на границе.
Формат входных данных:
С клавиатуры вводятся 5 вещественных чисел — x, y, xc, yc, r, заданных с точностью до 3 знаков после десятичной точки, не превосходящих 100 по модулю.
Гарантируется, что r > 0.
Формат выходных данных
Требуется вывести ответ на задачу.
Примечания:
В задачу требуется отправить только описание функций.
#include < iostream>
#include < iomanip>
#include < cmath>
using namespace std;
сюда функцию
int main(){
double x, y, xc, yc, r;
cin >> x;
cin >> y;
cin >> xc;
cin >> yc;
cin >> r;
if (is_point_in_circle(x, y, xc, yc, r)){
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
Пример:
входные данные:
0.5
0.5
0
0
1
выходные данные:
YES
входные данные:
0.5
0.5
1
1
0.1
выходные данные:
NO
Answers & Comments
Ответ:
bool is_point_in_circle(double x, double y, double xc, double yc, double r){
if(pow((x-xc),2) + pow((y-yc),2) < pow(r,2))
return true;
}
Объяснение:
(x – a)^2 + (y – b)^2 = R^2 обычное уравнение круга.