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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Виндовс формы. Подскажите пособие. http://www.cyberforum.ru/cpp-beginners/thread695960.html
Добрый вечер! Получил тему курсовой написать программу системы тестирования. Ранее с виндовс формами дела не имел, только консольные приложения. Подскажите,пожалуйста, какое-нибудь пособие по формам,...
C++ Стек, перегрузки, псевдопеременные Нужно сделать перегрузки операторов в классе стек, я совершенно запутался и получился полнейший бред. Оно работало глюченно когда я задавал размер стека, но я переделал конструктор и перестало... http://www.cyberforum.ru/cpp-beginners/thread695955.html
Преобразовать цифру, введённую с консоли в строку, содержащую числительное, соответствующее этой цифре. Результат вывести на консоль C++
Преобразовать цифру, введённую с консоли в строку, содержащую числительное, соответствующее этой цифре. Результат вывести на консоль.
Подскажите как доделать программу (хранение данных о сканерах) C++
Помогите довести до ума программу, буду оч благодарен! ************************** Для хранения данных о планшетных сканерах описать структуру вида: struct sc_inf { char model; //наименование...
C++ Си является подмножеством С++? http://www.cyberforum.ru/cpp-beginners/thread695926.html
Занимаюсь переводом книги по плюсам. "Created by Bjarne Stroustrup, C++ is a direct descendant of the C language. In fact, C++ retains almost all of C as a subset. However, C++ offers better ways...
C++ Вывод двумерного массива Решил попрактиковаться в работе с вложенными циклами, напоролся на проблему, которую понятия не имею как решить. Вот код: #include <iostream> using namespace std; int main() { float matrix= {... подробнее

Показать сообщение отдельно
mihey1993
322 / 48 / 19
Регистрация: 07.09.2014
Сообщений: 217
02.04.2015, 11:22
Для того, чтобы определить находится ли точка D в треугольнике ABC , можно проверить что выполняется следующее равенство для площадей:
http://www.cyberforum.ru/cgi-bin/latex.cgi?S_{ABC} = S_{ABD} + S_{BCD} + S_{ACD}
По заданным координатам точек площадь считается следующей формулой:
http://www.cyberforum.ru/cgi-bin/latex.cgi?S_{ABC} = \frac{1}{2} |(x_B - x_A)(y_C - y_A) - (x_C - x_A)(y_B - y_a)|

Так что в общем и целом получается проверка будет выглядеть так(если я конечно же нигде не накосячил):
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
struct point{
    double x,y;
};
 
double area(point a,point b,point c){
    return (0.5*abs((b.x - a.x)*(c.y - a.y) - (c.x - a.x)*(b.y - a.y)));
}
 
int main()
{
   point a,b,c,d;
   a.x = 1.0;a.y = 1.0;
   b.x = 3.0;b.y = 5.0;
   c.x = 4.0;c.y = 2.0;
   d.x = 3.5;d.y = 3.5;
   if (abs((area(a,b,c) - area(a,b,d) - area(a,c,d) - area(b,c,d)))<1e-5){
       cout << "Yes";
   }
   else {
       cout << "No";
   }
   return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru