Форум программистов, компьютерный форум CyberForum.ru

Попадает ли точка в заштрихованную область? - C++

Восстановить пароль Регистрация
 
jajaja
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 4
20.05.2014, 04:03     Попадает ли точка в заштрихованную область? #1
Привет, Киберфорум. Аналогичной задачи в поиске не нашёл, поэтому спрашиваю у вас. Нужно выяснить, попадает ли точка в заштрихованную область для такой вот фигуры:

[cut]

Не могу придумать условие для нижнего левого и верхнего правого незакрашенных треугольников, получается, что точка в них попадает.

Ниже приведу наработки, чувствую, что ответ где-то на поверхности)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int main (void)
{
    using namespace std;
    float x, y;
    cout<<"x=";
    cin>>x;
    cout<<"y=";
    cin>>y;
    if 
        ((((x>=0) && (x<=6) && (y<=6) && (y>=0)) || ((x>=-6) && (x<=0) && (y<=0) && (y>=-6))) != ((x*x+y*y<=1) && ((abs(x+y)==6))))
        cout<<"popadaet";
    else
        cout<<"ne popadaet";    
    system ("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2014, 04:03     Попадает ли точка в заштрихованную область?
Посмотрите здесь:

Определить, попадает ли точка в заштрихованную область C++
C++ Попадает ли точка в заштрихованную область.
Попадает ли точка в заштрихованную область на рисунке C++
Попадает ли точка в заштрихованную область на рисунке? C++
Определить, попадает ли точка в заштрихованную область C++
Попадает ли точка в заштрихованную область? C++
Выяснит, попадает ли точка в заштрихованную область C++
Попадает ли точка на заштрихованную область? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pOlivka
5 / 5 / 1
Регистрация: 12.05.2014
Сообщений: 30
20.05.2014, 04:20     Попадает ли точка в заштрихованную область? #2
Просто условия не полные
C++
1
2
3
4
5
if ((x <= 1 && x >= 0 && y <= 1 && y >=0 && x^2+y^2<=1) || //Малый круг
(x>=-1 && x<= 0 && y>=-1 && y<= 0 && x^2+y^2<=1) || //Малый отрицательный круг
(x >= 0 && x <= 6 && y <= 0 && y >= -6) || //Большой треугольник справа внизу
(x >= -6 && x<= 0 && y <= 6 && y>=0) //Большой треугольник слева вверху
)
Большие треугольники сам допишешь, в обще времени нету, бежать надо, ну или пожожди пару часиков, я попозже приду или кто нибудь тебе тут поможет
jajaja
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 4
21.05.2014, 06:26  [ТС]     Попадает ли точка в заштрихованную область? #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
int main (void)
{
    using namespace std;
    float x, y;
    cout<<"x=";
    cin>>x;
    cout<<"y=";
    cin>>y;
    if 
(((x >= 0 && x <= 6 && y <= 0 && y >= -6  && abs(x - y) <= 6 && abs(x - y)>=0) || //треугольник справа внизу
(x >= -6 && x<= 0 && y <= 6 && y>=0 && y <= 6 && abs (x - y) >= 0 && abs (x - y)<=6) ||//треугольник слева вверху
(x=0) || (y=0) || //оси x и y
(x >= 0 && x <= 6 && y >= 0 && y <= 6 && x + y >= 6 && x + y<=12) || //треугольник справа вверху
(x <= 0 && x >= -6 && y <= 0 && y >= -6 && abs(x + y) >= 6 && abs(x + y)<=12)) != //треугольник слева внизу
(x*x+y*y<=1 && x*x+y*y>=0)
)
        cout<<"popadaet";
    else
        cout<<"ne popadaet";    
    system ("pause");
}
В общем, такое кривое решение забацал, мб кому пригодится.
Yandex
Объявления
21.05.2014, 06:26     Попадает ли точка в заштрихованную область?
Ответ Создать тему
Опции темы

Текущее время: 23:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru