Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу печати всех циклов орграфа https://www.cyberforum.ru/ cpp-beginners/ thread2454696.html
Составить программу печати всех циклов орграфа
C++ Определить план загрузки станков, обеспечивающий минимальное суммарное время работы оборудования
Задача Каждый из m станков может обрабатывать n типов деталей. Известны резервы времени работы станков ai, i=1..m, и число деталей каждого вида bj, j=1..n. Известно время обработки каждой детали на...
C++ Сформировать алфавитный список уникальных слов
При считывании текстового файла сформировать алфавитный список уникальных слов.
C++ Не могу найти путь к процессу Господа программисты!! Помогите решить проблему. Понадобилось написать мониторинг проверки на запуск нескольких процессов. Далее работать с путем к .exe файлу. В общем эту заду решил, покопавшись... https://www.cyberforum.ru/ cpp-beginners/ thread2454673.html
C++ Найти количество деревянных кубиков объемом менее 10 кубических сантиметров https://www.cyberforum.ru/ cpp-beginners/ thread2454657.html
6)Имеется 12 кубиков,каждый из которых характеризуется цветом(красный,белый,зеленый,синий,желтый), материалом (деревянный,металлический,картонный, стеклянный,пластмассовый), размером(длиной ребра)....
C++ Составить функцию вычисления произведения P отрицательных элементов строки матрицы, стоящих в строке на нечетных местах
5)Составить функцию вычисления произведения P отрицательных элементов строки матрицы, стоящих в строке на нечетных местах. Используя эту функцию для матриц A(6,7) и B(5,8) вычислить X=[A2+PB5+PA6+PB3...
Вычислить и вывести произведение отрицательных элементов каждой строки C++
4)Дана матрица D.Вычислить и вывести произведение отрицательных элементов каждой строки. Если это произведение положительное для каждой строки, то все нулевые элементы строки заменить на него, иначе...
C++ Найти и вывести количество отрицательных элементов в массиве 3)Дан массив B.Найти и вывести количество отрицательных элементов в массиве. Если это количество равно нулю, то все положительные элементы в массива умножить на 3, иначе все элементы,меньше 5... https://www.cyberforum.ru/ cpp-beginners/ thread2454654.html
C++ Определить класс с именем Metro https://www.cyberforum.ru/ cpp-beginners/ thread2454653.html
2)Определить класс с именем Metro содержащую следующие поля: название начального пункта; название конечного пункта;время поездки;номер линии. методы: ввод данных в массив из n элементов типа Metro;...
C++ Вывести все слова из текста, в которых первая и последняя буквы встречаются подряд внутри слова 1) Дан текст, заканчивающийся точкой, вывести все слова из этого текста, в котороых первая и последняя буквы встречаются подрят внутри слова(Например: ТАРАКАН,КАРАКАТИЦА, но не ТЕАТР ЛАМА) https://www.cyberforum.ru/ cpp-beginners/ thread2454652.html
498 / 368 / 179
Регистрация: 10.06.2016
Сообщений: 1,719
17.05.2019, 15:09 0

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

17.05.2019, 15:09. Просмотров 666. Ответов 1
Метки (Все метки)

Ответ

Ищет правда только одну такую прямую, их может быть несколько.

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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2019, 15:09
Готовые ответы и решения:

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

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

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

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

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