Напишите функцию 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.

Формат выходных данных
Требуется вывести ответ на задачу.
Примечания
В задачу требуется отправить только описание функций.

входные данные
0.5
0.5
0
0
1

0.5
0.5
1
1
0.1
выходные данные
YES

NO

jnash993 jnash993    2   03.10.2021 12:35    1

Ответы
MrLeysanHD MrLeysanHD  03.10.2021 12:40

#include <iostream>

using namespace std;

bool is_point_in_circle(double x, double y, double xc, double yc, double r);

int main()

{

double x, y, xc, yc, r;

bool result;

cin >> x >> y >> xc >> yc >> r;

result = is_point_in_circle(x, y, xc, yc, r);

if (result) cout << "YES";

else cout << "NO";

return 0;

}

bool is_point_in_circle(double x, double y, double xc, double yc, double r)

{

if ((x - xc) * (x - xc) + (y - yc) * (y - yc) < r * r) return true;

return false;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика