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

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

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

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

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

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

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

Найти точку на плоскости, сумма расстояний от которой до остальных точек множества максимальна - C++
Друзья, мне вновь необходима любая ваша помощь по теме) Задача такова: решить задачу, с помощью структуру для хранения координат точки,...

Найти такую точку заданного на плоскости множества точек, сумма расстояний от которой до остальных минимальна - C++
осталась последняя задача по Си, от неё зависит зачёт. Условия такие: найти такую точку заданного на плоскости множества точек, сумма...

Найти такую точку, сумма расстояний от которой до остальных минимальна - C++
Добрый всем день. Помогите мне решить данное задание , я плохо разбираюсь в этом языке программирования ,т.к. мягко говоря ,наш...

Найти число точек и сумму расстояний от первой точки до остальных точек - C++
Вектора X и Y задаются вводом; n — размер каждого из векторов X и Y. Пара (Xk, Yk) представляет координаты одной из n точек на...

Найти сумму расстояний от начала координат до точек гиперболы - C++
Здравствуйте,объясните как делать задачу или покажите похожий пример. Вчера было первое занятие,разбираюсь со вчерашнего дня. С С++...

Среди заданных точек на плоскости найти ту, у которой расстояние суммы равно наибольшему от остальных точек - C++
Помогите вывести не цифру наибольшего значения, а все число. Задача: среди заданных точек на плоскости, найти ту у которой расстояние...

5
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 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 цикле сумму расстояний до точек, затем смотрите меньше ли сумма текущей, если так то запоминайте точку.
0
b0n4b
2 / 2 / 0
Регистрация: 16.11.2011
Сообщений: 100
29.12.2011, 00:31  [ТС] #3
А можно поподробней?
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
29.12.2011, 00:40 #4
Цикл в цикле, от каждой точки до каждой расстояние суммируйте.
0
valeriikozlov
Эксперт С++
4676 / 2502 / 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[] - индекс этого знаения и есть ответ.
0
Байт
Нарушитель
Эксперт C
16696 / 10960 / 1689
Регистрация: 24.12.2010
Сообщений: 21,388
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;
}
Если ничего не перепутал...
0
04.01.2016, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2016, 14:41
Привет! Вот еще темы с ответами:

Найти число точек, у которых ордината больше абсциссы и сумму расстояний от первой точки до остальных - C++
Задание такое: пара (Xk,Yk) представляет координаты одной из n точек на плоскости. Найти число точек, у которых ордината Yk больше абсциссы...

Вывести индекс строки сумма элементов которой отличается менее других от суммы элементов векторов - C++
Ввести матрицу 10*10 и вектор длины типа int. Вывести индекс строки сумма элементов которой отличается менее других от суммы элементов...

Найти точку, расстояние от которой до начала координат минимальное - C++
На плоскости задано N точек с координатами (xi,yi) . Найти точку, расстояние от которой до начала координат минимальное. Для задания...

Вывести данные о комнате, в которой наименьшая площадь - C++
Дана информация о пяти комнатах в общежитии. Запись имеет вид: фамилии, номер комнаты, факультет, площадь. Вывести данные о комнате, ...


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

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

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