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

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

Восстановить пароль Регистрация
 
Mashka_mulashka
 Аватар для Mashka_mulashka
22 / 22 / 4
Регистрация: 13.12.2011
Сообщений: 724
23.04.2014, 06:40     Определить принадлежность точки треугольнику #1
В декартовой системе координат на плоскости заданы координаты вершин треугольника и ещё одной точки. Определить, принадлежит ли эта точка треугольнику.
Ограничения: координаты вершин - целые числа, для любой точки выполняются следующие условия: -10 000 <= x, y <= 10 000.
Ввод: В четырёх строках находятся пары чисел - координаты точек. Числа в первых трёх строках - это координаты вершин треугольника, в четвёртой строке - координаты тестируемой точки.
Вывод: Вывести слово "In", если точка находится внутри треугольника, или "Out" - если снаружи.




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
#include <iostream>
 
#include <math.h>
 
using namespace std;
 
int main(){
 
float a,b,c,d,e,f,p,p1,p2,p3,s,s1,s2,s3,x,x1,x2,x3,y,y1,y2,y3,s4;
 
cin >> x1 >> y1;
 
cin >> x2 >> y2;
 
cin >> x3 >> y3;
 
cin >> x >> y;
 
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
 
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
 
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
 
d=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));
 
e=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
 
f=sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3));
 
p=(a+b+c)/2;
 
p1=(d+c+f)/2;
 
p2=(a+e+d)/2;
 
p3=(b+e+f)/2;
 
s=sqrt(p*(p-a)*(p-b)*(p-c));
 
s1=sqrt(p1*(p1-d)*(p1-c)*(p1-f));
 
s2=sqrt(p2*(p2-a)*(p2-e)*(p2-d));
 
s3=sqrt(p3*(p3-b)*(p3-e)*(p3-f));
 
if((s1+s2+s3)==s){
 
cout << "In";
 
}
 
else{
 
    cout << "Out";
 
}
 
system ("pause");
 
return 0;
 
}
результат - частичное решение. пройдено тестов 20/33.

ошибку найти не могу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 06:40     Определить принадлежность точки треугольнику
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mashka_mulashka
 Аватар для Mashka_mulashka
22 / 22 / 4
Регистрация: 13.12.2011
Сообщений: 724
07.05.2014, 08:15  [ТС]     Определить принадлежность точки треугольнику #2
ап, кто-нибудь подправьте код
EVP
314 / 236 / 41
Регистрация: 14.12.2010
Сообщений: 457
07.05.2014, 18:54     Определить принадлежность точки треугольнику #3
Цитата Сообщение от Mashka_mulashka Посмотреть сообщение
ап, кто-нибудь подправьте код
Google шансов на оставляет 47 строчке.
Yandex
Объявления
07.05.2014, 18:54     Определить принадлежность точки треугольнику
Ответ Создать тему
Опции темы

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