Форум программистов, компьютерный форум, киберфорум
Наши страницы

Определить принадлежность точки нужной области - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Операции над большими числами http://www.cyberforum.ru/cpp-beginners/thread1613297.html
Здравствуйте. Хочу создать класс выполняющий арифметические операции над большие числа (знаю что велосипед, делаю в учебных целях). Класс хранит число в виде массива и этот массив должен быть...
C++ Разработайте и реализуйте абстрактный тип данных Помогите пожалуйста с задачей. Разработайте и реализуйте абстрактный тип данных для представления календаря. Он должен представлять день, месяц и год в виде целых чисел (например, 1/4/2002.)... http://www.cyberforum.ru/cpp-beginners/thread1613288.html
Что такое фреймворк? C++
Я так понимаю что фреймворк - это платформа, которую нужно устанавливать в систему для того чтобы можно было писать приложения при помощи инструментария(различных классов, функций, библиотек) который...
C++ Как можно вывести код, чтобы искалась информация во всех файлах, которые есть на пк?
Как можно вывести код,что бы искалась информация во всех файлах,которые есть на пк,а потом вывадился нужный файл с этой информацией? Помогите,пожалуйста.
C++ Как передать в функцию массив символьных строк? http://www.cyberforum.ru/cpp-beginners/thread1613253.html
Допустим имею char* T={"aaaa", "bbbb", "ccc"}; как передать например по указателю.
C++ Найти сумму элементов строки, в которой расположен элемент с наименьшим значением В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный. Нужно две... подробнее

Показать сообщение отдельно
fkti
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 3

Определить принадлежность точки нужной области - C++

14.12.2015, 19:04. Просмотров 865. Ответов 3
Метки (Все метки)

Определить, принадлежит ли точка с введёнными координатами области, ограниченной графиком функций и осью ОХ (график непериодический, при а<0 отражается влево относительно оси OY (и полуокружности идут вниз)).
График: http://s019.(радикал.ру)/i604/1512/af/dc483acf74af.png

Битый час сижу и не понимаю, почему не работает. Буду очень благодарен за помощь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# include <iostream>
# include <iomanip>
using namespace std;
 
bool circle(double x, double y, double a, double c)
{
    if (((a<0) && ((y>(sqrt(a*a-(x-c*(-a))*(x-c*(-a))))) && y<0 && x<(c-a) && x>(c+a))) || ((a>0) && ((y<(sqrt(a*a-(x-c*a)*(x-c*a)))) && x<(c+a) && x>(c-a))))
        return true;
    else
        return false;
}
 
double line (double x, double x1, double y1, double x2, double y2)
{
double k = (y2 - y1)/(x2 - x1);
double b = (x2*y1 - x1*y2)/(x2 - x1);
return k*x+b;
}
 
bool triangle(double x, double y, double a, double b, double c)
{
//k = (y2 - y1)/(x2 - x1);
//b = (x2*y1 - x1*y2)/(x2 - x1);
    bool result;
    double m=abs(a/2);
    result=false;
        if (b>0)
        {
            if (y<0 && y>line(x,c,0,c+m,-b) && y>line(x,c+m,-b,c+abs(a),0) && y>c && y<(c+a))
                result=true;
        }
        else
        {
            if (y>0 && y<line(x,c,0,c+m,-b) && y<line(x,c+m,-b,c+abs(a),0) && y>c && y<(c+a))
                result=true;
        }
        return result;
}
 
int main()
{
    double x=0, y=0, a=0, b=0;
    bool get=false;
    setlocale(LC_CTYPE, "rus");
    cout<<"Введите x: ";
    cin>>x;
    cout<<"Введите y: ";
    cin>>y;
    cout<<"Введите a: ";
    cin>>a;
    cout<<"Введите b: ";
    cin>>b;
    if (a=0 || b==0 || x==0 || y==0) 
        get=false;
    else
    {
    if (a>0)
    {
        if (triangle(x,y,a,b,0) || circle(x,y,a,a*2) || triangle(x,y,a,b,a*3) || triangle(x,y,a,b,a*4) || circle(x,y,a,a*6) || triangle(x,y,a,b,a*6))
            get=true;
    }
    else
    {
        if (triangle(x,y,a,b,a) || circle(x,y,a,a*2) || triangle(x,y,a,b,a*4) || triangle(x,y,a,b,a*5) || circle(x,y,a,a*6) || triangle(x,y,a,b,a*7))
            get=true;
    }
    }
    if (get==true)
        cout<<"Точка принадлежит области"<<endl;
    else
        cout<<"Точка не принадлежит области"<<endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru