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

Верно ли, что для любой пары точек из множества все оставшиеся точки лежат по одну сторону от прямой, проведённой через эту пару - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить элемент из односвязного списка http://www.cyberforum.ru/cpp-beginners/thread432287.html
У нас есть односвязный список и указатель на один из его элементов, как удалить этот элемент из списка, оставив список целостным ?(сделать это надо за О(1), решение вида пройти с начала списка найти...
C++ Найти наибольшее расстояние между точками Здравствуйте. Пользователь задает координаты нескольких точек, программа должна определить, между какими точками наибольшее расстояние. На экран вывести эти две точки. Вот, что пока накалякал. ... http://www.cyberforum.ru/cpp-beginners/thread432284.html
Как кодираются дробные числа в пакетах? C++
Пытаюсь снифером ловить пакеты и доставать из них данные. В частности несколько приходящих чисел интересует. Целые числа легко находятся, а вот дробные непонятно как искать. Например есть вот такой...
C++ 2 задачи на С ++ и одна задача на С++ на oснoве MFC
Вот а помогите ещё три задачи решить) Вторую задачу не надо. а по четвёртой почти всё сделал но у меня прога не считает уравнение а сразу выдают ошибку если не правильно всё. void...
C++ Максимальный элемент двумерного массива и его положение http://www.cyberforum.ru/cpp-beginners/thread432262.html
Всем доброго времени суток. Помогите, пожалуйста, с задачей... Инициализировать массив n x n. n вводит пользователь. Найти максимальный элемент в массиве и его положение: номер строки, номер...
C++ Помогите разобраться с кодом Код - проверка ввода данных. Если вводиться "x6x", то вызывается исключение, правильным вводом являются только символы, например: "xxx", исключение работает правильно и после вызова исключения и... подробнее

Показать сообщение отдельно
Байт
Нарушитель
Эксперт C
16679 / 10941 / 1679
Регистрация: 24.12.2010
Сообщений: 21,329
21.01.2012, 15:40
Цитата Сообщение от SW.VOL Посмотреть сообщение
Байт, и что это даст?
Я, видимо неправильно понял задачу. Нужно проверить это для конкретной конфигурации, а не доказать в общем случае.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for(i=0; i<15; i++) {
 for(j=0; j<15; j++) {
   if (i==j) continue;
   A = y[j] - y[i];
   B = x[i] - x[j];
   C = -x[i]*(y[j] - y[i]) + y[i]*(x[j] - x[i]); // Это коэфициэнты уравнения прямой
   for (k=m=0;  k<15; k++) {
     if (k==i || k==j) continue;
     if (m==0) { z = A*x[k]+B*y[k]+C;  m =1; }
     else if ((A*x[k]+B*y[k]+C)*z < 0) break;  // Точки лежат по разную сторону
   }
    if (k<15) continue;  // Эта прямая не подошла
    break;
 }
  if (j==15) break;
}
 if (i==15) printf("Yes\n");
 else        prin\ntf("No");
Вот как-то так. Не проверял.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.