0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 7
1

Найти точку на плоскости, сумма расстояний от которой до остальных точек множества максимальна

19.12.2011, 20:56. Показов 3770. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья, мне вновь необходима любая ваша помощь по теме)
Задача такова: решить задачу, с помощью структуру для хранения координат точки, нужно найти точку на плоскости сумма расстояний от которой до остальных точек множества максимальна.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2011, 20:56
Ответы с готовыми решениями:

Найти такую точку множества, сумма расстояний от которой до остальных его точек максимальна
Дано линейное множество A из N точек. Найти такую точку из данного множества, сумма расстояний от...

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

Найти точку из множества, сумма расстояний от которой до остальных его точек минимальна или максимальна
. Дано множество A из N точек. Найти такую точку из данного множества, сумма расстояний от которой...

Найти такую точку заданного на плоскости множества точек, сумма расстояний от которой до остальных минимальна
Даны точки(неограниченно) с координатами. Найти такую точку заданного на плоскости множества...

4
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 2
19.12.2011, 21:43 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
#include <iostream>
#include <cmath>
using namespace std;
 
struct point
{ float x,y,z;
};
double dlina (point a)
{ return sqrt(a.x*a.x+a.y*a.y+a.z*a.z);}
int main()
{ point a[100];
int n;
cout<<"введите n";
cin>>n;
for (int i=0; i<n; i++)
{cout<<"введите координаты точки"<<i<<" от точки";
cin>>a[i].x>>a[i].y>>a[i].z;}
double max=0; int k=0;
for (int i=0; i<n; i++)
    if (dlina (a[i])>max)
{max=dlina(a[i]);
k=i;}
cout<<"k="<<k;
return 0; }
Но теперь к вам другой вопрос, почему, выдается k=0 и ничего не считается, если я к примеру в консоли задаю:
введите n 2
введите координаты точки0 от точки (3;5)
введите координаты точки1 от точкиk=0
К слову почему-то не могу зайти как qloaqa.
0
56 / 56 / 16
Регистрация: 01.08.2011
Сообщений: 141
19.12.2011, 23:18 3

Не по теме:

delete



Добавлено через 10 минут
Вот тесть
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
#include<iostream>
#include<windows.h>
#include<fstream>
#include<cmath>
using namespace std;
 
struct my_point
{
    int x;
    int y;
    int z;
};
 
int GetPoint( my_point *& , const char* );
double Distance( my_point* , my_point , int );
 
int main()
{
    int k;
    my_point* p;
    k = GetPoint(p,"Output.txt");
 
    double MaxSumLong=0, Dl;
    for(int i=0; i<k; i++)
    {
        Dl=Distance(p,p[i],k);
        if(Dl >  MaxSumLong)
             MaxSumLong=Dl;
    }
    cout<<"Max long "<<MaxSumLong<<endl;
    system("pause");
 
}
 
 
int GetPoint(my_point*& pArrayPpoint, const char* FileName)
{
    fstream File(FileName, ios::in);
    int k;
    File>>k;
    pArrayPpoint = new my_point [k];
    for(int i=0; i<k; i++)
    {
        File>>pArrayPpoint[i].x>>pArrayPpoint[i].y>>pArrayPpoint[i].z;
    }
    return k;
}
 
 double Distance( my_point* pArrayPpoint,my_point pl, int k)
{
    double SumDistance=0;
    for(int i=0; i<k; i++)
        SumDistance += sqrt(  pow( (double) pl.x -pArrayPpoint[i].x, 2) + pow( (double) pl.y-pArrayPpoint[i].y, 2) +  pow( (double) pl.z-pArrayPpoint[i].z, 2)  );
    return SumDistance;
}
Не забудь создать файл Output.txt в котором первое число это количество точек, а дальше их координаты.
2
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 7
20.12.2011, 00:01  [ТС] 4
Замечательно. Огромная благодарность вам :dance3:
0
Almiqui
20.12.2011, 00:07     Найти точку на плоскости, сумма расстояний от которой до остальных точек множества максимальна
  #5
 Комментарий модератора 
Цитата Сообщение от iomanip Посмотреть сообщение
К слову почему-то не могу зайти как qloaqa.
Я так понимаю, что смогли войти. Клона забаню.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2011, 00:07

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

Найти такую точку заданного на плоскости множества точек, сумма расстояний от которой до остальных минимальна
Всем привет! Нужна ваша помощь! Искал задачку нашел только на С++ и С# а вот на java не могу найти,...

Среди заданного на плоскости точек найти такую, сумма расстояний от который до остальных МАКСИМАЛЬНА
Среди заданного на плоскости точек найти такую, сумма расстояний от который до остальных...

Найти точку, сумма расстояний от которой до остальных точек минимальна
Имеется задачка. Дан массив точек на прямой, найти точку, сумма расстояний от которой до остальных...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru