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

Функция-член класса, которая определяет принадлежность точки с заданными координатами треугольнику - C++

Восстановить пароль Регистрация
 
CruSanodeR
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 27
14.03.2013, 15:17     Функция-член класса, которая определяет принадлежность точки с заданными координатами треугольнику #1
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <math.h>
using namespace std;
struct Point
{
    Point()
    {
    x=0;y=0;
    }
    Point(double xx,double yy)
    {
        x=xx;
        y=yy;
    }
    double x,y;
};
class TriAngle
{
    //Закрытые элементы данных:
    Point a, b, c;
    //Открытые функции (методы):
public:
    TriAngle(Point aa, Point bb, Point cc) : a(aa), b(bb), c(cc){} // конструктор
    //Фукции, обеспечивающие доступ к элементам данных:
    void Set_a(double x, double y) {a.x = x; a.y = y;}
    void Set_b(double x, double y) {b.x = x; b.y = y;}
    void Set_c(double x, double y) {c.x = x; c.y = y;}
    Point& Get_a() {return a;}
    Point& Get_b() {return b;}
    Point& Get_c() {return c;}
    bool IsInside(double,double);
    //Функции ввода-вывода:
    //void input();//смысл этого метода мне не ясен, если объяснишь для чего он конкретно, то перепишу поэтому пока убираем его
    void output();
    double L1 ();
    double L2 ();
    double L3 ();
};
void TriAngle::output()
{
    cout << "Значение a(" <<a.x<<","<<a.y<<")"<<endl;
    cout << "Значение b(" <<b.x<<","<<b.y<<")"<<endl;
    cout << "Значение c(" <<c.x<<","<<c.y<<")"<<endl;
}
double TriAngle::L1 ()//если я правильно понимаю метод L1 L2 и L3 возвращают длины сторон если так то будет такая реализация, если не так прошу поправить меня
{
    return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
double TriAngle::L2 ()
{
    return sqrt((c.x-b.x)*(c.x-b.x)+(c.y-b.y)*(c.y-b.y));
}
double TriAngle::L3 (void)
{
    return sqrt((a.x-c.x)*(a.x-c.x)+(a.y-c.y)*(a.y-c.y));
}
/*bool TriAngle::IsInside(double _x,double _y)
{
    if(((_x-a.x)*(a.y-b.y)-(_y-a.y)*(a.x-b.x)>=0)&&
        ((_x-b.x)*(b.y-c.y)-(_y-b.y)*(b.x-c.x)>=0)&&
        ((_x-c.x)*(c.y-a.y)-(_y-c.y)*(c.x-a.x)>=0))
        return true;
    else
        return false;
}*/
 
int main()
 
{
    if(SetConsoleCP(1251)==0)
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
    double x,y;
    Point p1,p2,p3;
cout<<"Введите координаты вершины х и у\nПервая вершина = ";
cin>>x>>y;
p1.x = x;p1.y = y;
cout<<"Вторая вершина = ";
cin>>x>>y;
p2.x = x;p2.y = y;
cout<<"Третья вершина = ";
cin>>x>>y;
p3.x = x;p3.y = y;
TriAngle t(p1,p2,p3); //Треугольник
cout<<"Введите координаты точки = ";
cin>>x>>y;
t.output();
//bool res = t.IsInside(x,y);
_getch();
return 0;
}
помогите определить принадлежность точки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 15:17     Функция-член класса, которая определяет принадлежность точки с заданными координатами треугольнику
Посмотрите здесь:

определить принадлежность точки треугольнику C++
C++ Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
C++ Функция, проверяющая попадание точки с заданными координатами в фигуру
C++ Программа, которая определяет, попадает ли точка с заданными координатами в область
C++ определить принадлежность точки с координатами (x,y) закрашенной области
Определить принадлежность точки треугольнику C++
C++ Программа, которая определяет принадлежность точек к полукружию
C++ Определить принадлежность точки треугольнику

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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