Принадлежность точки заданной фигуре

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
ajb47
Сообщения: 2
Зарегистрирован: 13 ноя 2014, 22:20

Помогите пожалуйста,
Определить, принадлежит ли точка с координатами (х, у) заштрихованной части плоскости.(картинка [ATTACH]2115[/ATTACH])
у меня он определяет только по контуру,а внутри вообще не определяет, исправте пожалуйста

Код: Выделить всё

#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"

int main() 
{
system("chcp 1251");
system("cls");
int x;
printf ("введите координаты x\n");
scanf_s ("%d",&x);
int y;
printf ("введите координаты y\n");
scanf_s ("%d",&y);
if (y==0 && x==0) printf("Принадлежит заштрихованной области");
else
if (y==1 && x==1) printf("Принадлежит заштрихованной области");
else
if (y>0 && x<1 && x>0 && x<3) printf("Принадлежит заштрихованной области");
else
if (y==1 && x==2) printf("Не принадлежит заштрихованной области");
else
printf ("Не принадлежит заштрихованной области");
getchar();getchar();
return 0;
}
Вложения
1..jpg
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

1. Не понятно зачем в начале проверяются отдельные точки. Первый два if проверяют просто точки, а не принадлежность области.

2.Вот здесь явная опечатка:

Код: Выделить всё

if (y>0 && x<1 && x>0 && x<3)
Для определения прямоугольной области следует два раза проварить x и два раза y. А в условии три проверки x и одна проверка у.

3. Проверки на принажлежность куска фигуры, располагающейся под параболой нету. Основное условие тут будет выглядеть как y < x*x. Плюс нужно будет добавить ограничение на x.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить