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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа не складывает два числа http://www.cyberforum.ru/cpp-beginners/thread1154839.html
Почему оно складывать не хочет? #include <iostream> using namespace std; int main() { int a,b; cout<< "1 2\n"; cin>>a>>b;
C++ Вычислить значение выражения Пусть {x}_{1}={y}_{1}=1; {x}_{i}=0.3*{x}_{i-1}; {y}_{i}={x}_{i-1}+{y}_{i-1}, i=1,2,3... . Дано натуральное число n. Найти: \sum_{k=1}^{n}\frac{{x}_{i}}{1+|{y}_{i}|} http://www.cyberforum.ru/cpp-beginners/thread1154822.html
Преобразование из string в double C++
Объясните пожалуйста в чем связь между преобразованием данный из string в double и библиотекой русского языка Вот так работает #include "stdafx.h" #include <iostream> #include <cstdlib> #include...
C++ Найти вещественное число по числу, введенному с клавиатуры, и заменить его новым числом
Помогите решить задачу. Тип списка: двунаправленный Элемент списка: вещественное Найти вещественное число по числу, введенному с клавиатуры,и заменить его новым числом.
C++ Бинарное дерево поиска. После запуска не выводятся значения ключа http://www.cyberforum.ru/cpp-beginners/thread1154785.html
#include <QCoreApplication> #include <iostream> #include <fstream> #include <string> #include <BinaryTree.h> using namespace std; int main()
C++ Класс для работы с битовыми векторами Створити клас Bitv для роботи з бітовими векторами довільної довжини. Бітовий вектор - послідовність значень, які можуть мати значення 0 (не істина) або 1 (істина). Кожен елемент бітового вектору... подробнее

Показать сообщение отдельно
Mashka_mulashka
22 / 22 / 4
Регистрация: 13.12.2011
Сообщений: 785

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

23.04.2014, 06:40. Просмотров 854. Ответов 2
Метки (Все метки)

В декартовой системе координат на плоскости заданы координаты вершин треугольника и ещё одной точки. Определить, принадлежит ли эта точка треугольнику.
Ограничения: координаты вершин - целые числа, для любой точки выполняются следующие условия: -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.

ошибку найти не могу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru