Определить попадание произвольной точки в заштрихованную область - C (СИ)
Формулировка задачи:
помогите пожалуйста написать программу "определить попадание произвольной точки в заштрихованную область".
Решение задачи: «Определить попадание произвольной точки в заштрихованную область»
textual
Листинг программы
#include <stdio.h>
#include "math.h"
#include <stdlib.h>
int main()
{
float x, y;
printf("%s","введите координату х: ");
scanf("%f",&x);
if(fabs(x)>1)
{
printf("%s","Точка лежит вне заштрихованой области!!! \n");
exit(0);
}
printf("%s","введите координату y: ");
scanf("%f",&y);
if(((y<=0)&&(y>=x-1))||((y>=x+1)&&(y<=pow(1-x*x,0.5)))||((y<=1)&&(y>=pow(1-x*x,0.5))&&x>0)||((y>=-1)&&(y<=-pow(1-x*x,0.5)&&x<0)))
printf("%s", "Точка лежит в заштрихованой области!!! \n");
else
printf("%s", "Точка лежит вне заштрихованой области!!! \n");
return 0;
}
Объяснение кода листинга программы
- Объявлены переменные x и y типа float.
- Выводится сообщение для ввода координаты x.
- С помощью функции scanf() происходит ввод значения переменной x с клавиатуры.
- Выполняется проверка на попадание точки (x,y) за пределы прямоугольника со сторонами (1,1) и (-1,-1). Если точка лежит вне этого прямоугольника, то выводится сообщение
Точка лежит вне заштрихованой области!!!и программа завершается. - Выводится сообщение для ввода координаты y.
- С помощью функции scanf() происходит ввод значения переменной y с клавиатуры.
- Выполняется проверка на попадание точки (x,y) в заштрихованную область по формуле ((y<=0)&&(y>=x-1))||((y>=x+1)&&(y<=pow(1-xx,0.5)))||((y<=1)&&(y>=pow(1-xx,0.5))&&x>0)||((y>=-1)&&(y<=-pow(1-x*x,0.5)&&x<0))).
- Если точка лежит в заштрихованной области, то выводится сообщение
Точка лежит в заштрихованой области!!!и программа завершается. - Если точка не попадает в заштрихованную область, то выводится сообщение
Точка лежит вне заштрихованой области!!!и программа завершается. - Возвращается 0, что означает успешный конец работы программы.