Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 6
1

Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек, лежащих по разные ст

17.05.2019, 12:33. Просмотров 584. Ответов 1
Метки нет (Все метки)

Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек, лежащих по разные стороны прямой, проходящей через эти две точки, различались наименьшим образом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2019, 12:33
Ответы с готовыми решениями:

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

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

Работа С Массивами (Выбрать три различные точки из заданного множества точек на плоскости так...)
Задание: Выбрать три различные точки из заданного множества точек на плоскости так, чтобы была...

Из заданного множества точек на плоскости выбрать две различные точки
Привет всем пожалуста помогите найти ошибку в коде. условия задачи: Из задоного множества точек на...

1
486 / 361 / 174
Регистрация: 10.06.2016
Сообщений: 1,674
17.05.2019, 15:09 2
Ищет правда только одну такую прямую, их может быть несколько.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <cstdlib> 
#include <iostream> 
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{    
        int n,i,j,k,nt,nb,n_res,ic,jc;
        setlocale(0, "");
        cout << "Введите количество точек (<=100):";
        cin >> n;
        //n=10;
        double *x = new double[n+1]; 
        double *y = new double[n+1]; 
        int check[100][100]; 
        double a,b;
        for(i=0;i<100;i++)
        for(j=0;j<100;j++)
        check[i][j]=0;
        cout << "Входной массив"<< endl;
        for(i=0;i<=n;i++)
        {
        x[i]= 20-0.001*rand();
        y[i]= 20-0.001*rand();
        cout <<i<<"  "<< x[i]<<" "<<y[i]<<endl;
        }
        //Перебор точек
        n_res=1E20;
        for(i=0;i<=n;i++)
        {  
            for(j=0;j<=n;j++)
        {  
            if(!(i==j) && !(check[i][j]==1))
            {  
             check[i][j]=1; check[j][i]=1;
            //Уравнение прямой
             if(!(x[i]==x[j])) {a=(y[j]-y[i])/(x[j]-x[i]);b=y[i]-a*x[i];}//Прямая не параллельна оси 0у.
             //Подсчет точек 
             nt=0;nb=0;
             for(k=0;k<=n;k++)
             {
                 if(!(k==i) && !(k==j))
                 { 
                  if(y[k]>a*x[k]+b && !(x[i]==x[j])) nt++;
                  if(y[k]<a*x[k]+b && !(x[i]==x[j])) nb++;
                  if(x[i]==x[j] && x[k]<x[i]) nb++;
                  if(x[i]==x[j] && x[k]>x[i]) nb++;
                 } 
             }  
             //cout<<i<<" "<<j<<" "<<nt<<" "<<nb<<endl;
             if(abs(nt-nb)<n_res)
             {
             n_res=abs(nt-nb);
             ic=i; jc=j;
            }
            }
            }
            }
        cout<<"превая точка № "<<ic<<" вторая точка № "<<jc<<" разница в точках "<<n_res<<endl;
        system("pause"); 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2019, 15:09

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

Выбрать три различные точки из заданного множества точек на плоскости
Выбрать три различные точки из заданного множества точек на плоскости так, чтобы разность между...

Из заданного на плоскости множества точек выбрать три различные точки
Само задание звучит так: &quot;Из заданного на плоскости множества точек выбрать три различные точки...

Из заданного на плоскости множества точек выбрать три различные точки
Здравствуйте, помогите пожалуйста написать программу: Из заданного на плоскости множества точек...

Из заданного множества точек на плоскости выбрать три разные точки A, B, C
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри...


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

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

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