@Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
|
29.12.2010, 22:45
|
|
пошутил...
silent_1991, извините если что не так, ну а если серйозно, то
Помогите!
даны три вершины треугольника с координатами(коорд вводятся с клавиатуры) А(х1,y1) B(х2,y2) и С(х3,y3). И вводятся координаты другой точки Д(х4,y4)-и нужно определить принадлежит эта точка треугольнику или нет!А перед этим еще проверить возможен ли треугольник с такими точками.
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
| #include <iostream>
#include <cmath>
using namespace std;
struct point
{
int x;
int y;
};
int area(point a, point b, point c)
{
return abs((a.x - c.x)*(b.y - c.y) + (b.x-c.x)*(c.y-a.y));
}
int main()
{
/////////////////////////////////////////////////////////////////////////////
point a, b, c, d;
cout << "Введите сначала координаты вершин треугольника, а затем "
<< "координаты точки:" << endl;
cin >> a.x >> a.y;
cin >> b.x >> b.y;
cin >> c.x >> c.y;
cin >> d.x >> d.y;
/////////////////////////////////////////////////////////////////////////////
if (area(a, b, c))
{
if (area(a, b, c) == area(a, b, d) + area(a, d, c) + area(b, d, c))
cout << "Точка находится внутри треугольника\n";
else
cout << "Точка находится вне треугольника\n";
}
else
cout << "Треугольник не существует\n";
/////////////////////////////////////////////////////////////////////////////
return 0;
} |
|
6
|