Форум программистов, компьютерный форум 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
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru