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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. http://www.cyberforum.ru/cpp-beginners/thread1055886.html
Ребят я запутался окончательно.Пытался сам разобраться,но увы только все хуже стало. задание: Сформировать список L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2. Элементы я отсортировал,но как затереть одинаковые,не могу понять. #include <iostream> using namespace std; template<class TYPE> struct link
C++ Напечатать в алфавитном порядке все согласные буквы, входящие в текст. Помогите, пожалуйста, решить задачу в С++. Напечатать в алфавитном порядке все согласные буквы, входящие в текст. http://www.cyberforum.ru/cpp-beginners/thread1055882.html
Даны стороны двух треугольников. Найти сумму их площадей и периметров. C++
7 Помогите, пожалуйста, решить задачу в С++. Даны стороны двух треугольников. Найти сумму их площадей и периметров.
C++ Написать программу удаления из строки слова с заданным номером.
7. Помогите, пожалуйста, решить задачу в С++. Написать программу удаления из строки слова с заданным номером.
C++ В предложении заменить каждую букву многоточием. http://www.cyberforum.ru/cpp-beginners/thread1055877.html
7. Помогите, пожалуйста решить задачу в С++. В предложении заменить каждую букву многоточием.
C++ В квадратной матрице вычислить сумму элементов, принадлежащей главной диагонале. Помогите, пожалуйста, решить задачу в С++. В квадратной матрице вычислить сумму элементов, принадлежащей главной диагонале. подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 13:03     Пренадлежит ли точка треугольнику
Ну уж если вам действительно нечем заняться давайте пободоемся.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int Point::classify(Point &p0, Point &pl)
{
  Point p2 = *this;
  Point a = p1 - pO;//+1
  Point b = p2 - pO;//+1
  double sa = a. x * b.y - b.x * a.y;//+3
  if (sa > 0.0)
    return LEFT;//здесь большой шанс выйти из функции.
  if (sa < 0.0)
    return RIGHT;//здесь большой шанс выйти из функции.
  if ((a.x * b.x < 0.0) || (a.y * b.y < 0.0))
    return BEHIND;
  if (a.length() < b.length())
    return BEYOND;
  if (pO == p2)
    return ORIGIN;
  if (p1 == p2)
    return DESTINATION;
  return BETWEEN;
}

И таких вызовов три.
Повторюсь еще раз мне не хочется вам, что либо доказывать...
Вам метод не универсален, так как не дает правильного ответа если точки лежат на одной прямой. Придется лепить костыли. Это раз. Все вычисления в ваше алгоритме придется выполнять полностью в отличае от второго метода.
 
Текущее время: 12:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru