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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SW.VOL
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 5
#1

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

21.01.2012, 08:03. Просмотров 851. Ответов 4
Метки нет (Все метки)

Даны действительные числа x1,....x15, y1,....y15, которые рассматриваются как координаты 15 точек на плоскости. Верно ли, что для каждой из этих пятнадцати точек найдется другая, такая, что все оставшиеся тринадцать точек лежат по одну сторону от прямой, проходящей через эти две точки.


сдесь есть такой же код но, но он на Форум Java SE (J2SE)---

Исключить из текста последовательности символов, заключенные в фигурные скобки

 Комментарий модератора 
Именуйте темы осмысленно!

 Комментарий модератора 
Дублирование тем наказуемо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2012, 08:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Верно ли, что для любой пары точек из множества все оставшиеся точки лежат по одну сторону от прямой, проведённой через эту пару (C++):

А, В и С лежат на одной прямой. Напишите условие того, что точки А и В находятся по одну сторону от точки С - Геометрия
А, В и С лежат на одной прямой. Напишите условие того, что точки А и В находятся по одну сторону от точки С.

Напечатать точки, задающие такую плоскость, что все остальные точки лежат по одну сторону от неё - C (СИ)
Здравствуйте! Нужно решить задачу, которая кажется очень алгоритмически сложной. Помогите, пожалуйста, придумать оптимизированный...

Определить, лежат ли точки по одну сторону от прямой - C (СИ)
Дорогие форумчане, прошу помощи с алгоритмом по задаче! Задано множество M точек на плоскости. Определить, верно ли, что для каждой...

Выяснить, существует ли точка в множестве, что все остальные точки этого множества лежат вне окружности - C#
Дано множество точек на плоскости. Выяснить, существует ли такая точка в данном множестве, что все остальные точки этого множества лежат...

Определить радиус и центр такой окружности, проходящей хотя бы через три точки множества точек, что минимальна разность по модулю количества точек, ле - Delphi
Помогите с программой Условие: На геометрической плоскости дано множество точек. Координаты точек хранятся в текстовом файле. В первой...

Докажите, что точки лежат на одной прямой - Геометрия
На сторонах ВС и СD квадрата ABCD выбрали точки M и N так, что угол MAN=45. На отрезке MN, как на диаметре, построили окружность w, которая...

4
Байт
Нарушитель
Эксперт C
16679 / 10941 / 1679
Регистрация: 24.12.2010
Сообщений: 21,329
21.01.2012, 14:16 #2
Скорее всего, неверно. Одну точку поместите в центр круга, а остальные равномерно разместите на окружности.
0
SW.VOL
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 5
21.01.2012, 15:00  [ТС] #3
Байт, и что это даст?

Добавлено через 28 минут
училка обьяснила,не чего я не понял(( думаю делаеться так:
1) ввод n
2) ввод х(n), y(n)
fl=0;
3)цикл(от i=0 до n-1)
цикл(от j=j=1 до n)
{
s1=0; s2=0;
цикл( от k!=i до n)
if(k!=0 и k!=j)
if(y[j]==y[i] && y[k]>y[i]) s1++ ; else
if(y[j]==y[i] && y[k]<y[i]) s2++ ; else
if(x[j]==x[i] && x[k]>x[i]) s1++ ; else
if(x[j]==x[i] && x[k]<x[i]) s2++ ; else
if((y[k]-u[i])/(y[j]-y[i])<(x[k]-x[i]/(x[j]-x[i]) s1++; elser s2++;
if(s1==0 || s2==0)
{ fl=1; печ "да" ; i=n;i=n;k=n;}
}
4) if( fl=0) печ "нет"
0
Байт
Нарушитель
Эксперт C
16679 / 10941 / 1679
Регистрация: 24.12.2010
Сообщений: 21,329
21.01.2012, 15:40 #4
Цитата Сообщение от 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
SW.VOL
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 5
21.01.2012, 16:05  [ТС] #5
Байт, напиши полностью код программы, что то я вообще запутался.... зарание спасибо
0
21.01.2012, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 16:05
Привет! Вот еще темы с ответами:

Найти наименьшее расстояние от точки В до любой из точек множества А - C++
дано множество точек с координатами(х,у) и точка В с координатами(х,у), лежащая в другом множестве. Найти наименьшее расстояние от точки...

Дано множество точек на плоскости. Сколько точек не принадлежит прямой, проходящей через две первые точки? - C#
Доброго вечера! Подскажите, пожалуйста, по следующей задаче: Дано множество точек на плоскости. Сколько точек не принадлежит прямой,...

Через две точки проведен отрезок прямой. Найти среди заданных трех точек такую, что также относится к этому отрезку - C (СИ)
Собственно сама задача. Через две точки проведен отрезок прямой. Найти среди заданных трех точек такую, что также относится к этому...

Определить номер точки, через которую проходит окружность с центром в начале координат, внутрь которой попадают все оставшиеся точки. - C++
Имеется n точек на плоскости. Определить номер той, через которую проходит окружность с центром в начале координат, внутрь которой попадают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.