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

Написать функцию булевского типа, определяющую наличие пересечения заданной прямой и заданного отрезка. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию булевского типа, переставляющую местами столбец и строку матрицы. Значение функции «true», если результат отличается от аргумента. http://www.cyberforum.ru/cpp-beginners/thread614836.html
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 9. Написать функцию булевского типа, переставляющую местами столбец и строку матрицы. Значение функции «true», если результат отличается от аргумента.
C++ Написать процедуру перемножения матриц. ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 8. Написать процедуру перемножения матриц. http://www.cyberforum.ru/cpp-beginners/thread614835.html
Написать процедуру сложения матриц. C++
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 7. Написать процедуру сложения матриц. очень нужно к восьми утра!!
C++ Написать программу, выдающую таблицу значений многочлена. Для вычисления значения многочлена написать функцию по схеме Горнера.
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 6. Написать программу, выдающую таблицу значений многочлена. Для вычисления значения многочлена написать функцию по схеме Горнера. очень нужно к восьми утра!!
C++ Написать функцию булевского типа, определяющую упорядоченность массива целых чисел. http://www.cyberforum.ru/cpp-beginners/thread614831.html
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 5. Написать функцию булевского типа, определяющую упорядоченность массива целых чисел.
C++ Написать функцию целого типа, определяющую наличие в первой строке матрицы наличие седловой точки. ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 4. Написать функцию целого типа, определяющую наличие в первой строке матрицы наличие седловой точки. очень нужно к восьми утра!! подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
29.06.2012, 15:12     Написать функцию булевского типа, определяющую наличие пересечения заданной прямой и заданного отрезка.
Решение системы уравнений и нахождение точки пересечения - это, конечно, адово круто... Но можно и проще. Уравнение прямой A*x + B*y + C = 0. Если прямая пересекает отрезок, то его конечные точки будут по разные стороны от прямой. То есть, если мы подставим их в уравнение прямой, у получившихся чисел будут разные знаки. То есть, их произведение будет отрицательным.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct Point {double x, y;};
struct Segment {Point p1, p2;};
struct Line {double A, B, C;}
 
inline double operator * (const Line& l, const Point& p)
{
    return l.A*p.x + l.B*p.y + l.C;
}
 
inline bool Intersects(const Line &l, const Segment &s)
{
    return (l*s.p1)*(l*s.p2) < 0;
}
 
Текущее время: 04:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru