Написать программу, которая определяет, попадает ли точка в закрашенную область - C (СИ)
Формулировка задачи:
Помогите пожалуйста решить задачку.
Надо написать программу, которая определяет, попадает ли точка с введенными координатами (x , y ) в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения ( да/нет ). Параметр R задается константой.
Решение задачи: «Написать программу, которая определяет, попадает ли точка в закрашенную область»
textual
Листинг программы
#include<stdio.h>
int main(void)
{
double r,x,y;
printf("Enter R: ");
scanf("%lf",&r);
printf("Enter x,y: ");
scanf("%lf%lf",&x,&y);
if(((x-r)*(x-r)+(y-r)*(y-r)<=r*r && y<=x) ||
((x+r)*(x+r)+(y+r)*(y+r)<=r*r && y>=x) )
printf("yes\n");
else
printf("no\n");
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление переменных: r,x,y (double)
- Вывод сообщения с просьбой ввести R
- Считывание значения R с помощью функции scanf и сохранение его в переменной r
- Вывод сообщения с просьбой ввести x и y
- Считывание значений x и y с помощью функции scanf и сохранение их в соответствующих переменных
- Оценка принадлежности точки (x,y) к закрашенной области с использованием условия:
если ((x-r)(x-r)+(y-r)(y-r)<=rr && y<=x) ||
((x+r)(x+r)+(y+r)(y+r)<=rr && y>=x) )
то вывести
yes, иначе вывестиno - Возврат 0, чтобы указать, что программа успешно завершилась