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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
#1

Найти точку, у которой сумма расстояний до других точек наименьшая - C++

28.12.2011, 20:56. Просмотров 1553. Ответов 5
Метки нет (Все метки)

Пользователь вводит координаты точек.
Как найти точку, сумма расстояний до других точек наименьшая?

Добавлено через 29 минут
Никто не знает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 20:56     Найти точку, у которой сумма расстояний до других точек наименьшая
Посмотрите здесь:

C++ надо программу, в которой задача состоит в том, чтобы найти точку на двумерной сетке
C++ Вывести индекс строки сумма элементов которой отличается менее других от суммы элементов векторов
Найти такую точку заданного на плоскости множества точек, сумма расстояний от которой до остальных минимальна C++
C++ Найти точку на плоскости, сумма расстояний от которой до остальных точек множества максимальна
Найти точку, расстояние от которой до начала координат минимальное C++
Найти такую точку, сумма расстояний от которой до остальных минимальна C++
C++ Найти сумму расстояний от начала координат до точек гиперболы
C++ Найти методом пошагового прохождения по аргументу точку, в которой происходит смена знака функции
Реализовать процесс исчезновения точек и найти последнюю точку в dev c++ C++
Найти число точек, у которых ордината больше абсциссы и сумму расстояний от первой точки до остальных C++
C++ Найти число точек и сумму расстояний от первой точки до остальных точек
C++ Вывести данные о комнате, в которой наименьшая площадь

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1276 / 634 / 55
Регистрация: 11.08.2011
Сообщений: 2,272
Записей в блоге: 2
Завершенные тесты: 1
28.12.2011, 20:58     Найти точку, у которой сумма расстояний до других точек наименьшая #2
C++
1
2
for (int i=0; i<n; ++i)
for (int j=0; j<n; ++i)
находите во 2 цикле сумму расстояний до точек, затем смотрите меньше ли сумма текущей, если так то запоминайте точку.
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
29.12.2011, 00:31  [ТС]     Найти точку, у которой сумма расстояний до других точек наименьшая #3
А можно поподробней?
Dani
1276 / 634 / 55
Регистрация: 11.08.2011
Сообщений: 2,272
Записей в блоге: 2
Завершенные тесты: 1
29.12.2011, 00:40     Найти точку, у которой сумма расстояний до других точек наименьшая #4
Цикл в цикле, от каждой точки до каждой расстояние суммируйте.
valeriikozlov
Эксперт C++
4667 / 2493 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.12.2011, 05:59     Найти точку, у которой сумма расстояний до других точек наименьшая #5
Я бы сделал немного по другому:
заводим массив double b[n], все значения обнуляем.
Потом:
C++
1
2
3
4
5
6
7
for (int i=0; i<n-1; ++i)
    for (int j=i+1; j<n; ++j)
    {
        double rast// вычисляем расстояние от точки i до точки j и присваиваем это значение переменной rast 
        b[i]+=rast;
        b[j]+=rast;
    }
По окончании ищем минимальное значение в b[] - индекс этого знаения и есть ответ.
Байт
Эксперт C
15552 / 9894 / 1487
Регистрация: 24.12.2010
Сообщений: 18,507
04.01.2016, 14:41     Найти точку, у которой сумма расстояний до других точек наименьшая #6
Связанная тема
Найти такую точку заданного на плоскости множества точек, сумма расстояний от которой до остальных минимальна

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
int im = 0;
for (int i=0; i<n; ++i) {
    for (int j=i+1; j<n; ++j)
    {
        double rast// вычисляем расстояние от точки i до точки j и присваиваем это значение переменной rast 
        b[i]+=rast;
        b[j]+=rast;
        if (b[i] > b[im] || b[j] > b[im]) break;
    }
    if (i==0 || b[i] < b[im]) im = i;
}
Если ничего не перепутал...
Yandex
Объявления
04.01.2016, 14:41     Найти точку, у которой сумма расстояний до других точек наименьшая
Ответ Создать тему
Опции темы

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