Работа вам нужна срочно. Не волнуйтесь, уложимся!
Заполните, пожалуйста, данные для автора:
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
На плоскости задано N точек своими координатами. Найти среди них такую, сумма расстояний от которой до остальных минимальна.
//#include "stdafx.h"
#include
#include
#include
#include
using namespace std;
class CL1
{
unsigned n;
float *x;
float *y;
public:
CL1(unsigned size)
{
n=size;
x=new float [n];
y=new float [n];
}
void MyInp()
{
for (int i=0;i
cin>>(*(x+i));
cin>>(*(y+i));
}
}
void MyOut()
{
float *p,*q;
for(p=x,q=y;p<=x+n-1;p++,q++)
printf("\n% 7.2f%7.2f",*p,*q);
}
void FUN1()
{
double mas[n];// массив в которрый забиваются все расстояния, и из них выберем минимальное
double s;
for(int i=0;i
s=0;
for(int j=0;j
s=s+sqrt(((x[i]-x[j])*(x[i]-x[j]))+((y[i]-y[j])*(y[i]-y[j])));
}
mas[i]=s;
}
//нужно отсортировать массив с расстояниями(пузырьком)
double t;
for(int i=0;i
if(mas[i]>mas[i+1])
{
t=mas[i];
mas[i]=mas[i+1];
mas[i+1]=t;
}
} cout<<"min_sum_distance="< } ~CL1() }; //int _tmain(int argc, _TCHAR* argv[]) return 0;
//for(int i=0;i
{
cout<<"\nThe destructor deletes array\n" ;
getch();
delete []x;
delete []y;
}
int main()
{
unsigned N2;
cin>>N2;
CL1 Obj(N2);
Obj.MyInp();
Obj.MyOut();
cout<
}