Ч
Чарли
дана задача: задано два множества точек на плоскости. В первом множестве найдите хотя бы одну точку, сумма расстояний от которой (от любой из точки первого множества) до точек второго множества превышала бы заданную величину.
она решена, но в программе в которой надо ее сделать она не работает
#include <iostream>
#include <time.h>
#include <math.h>
#include <cstdlib>
#include <windows.h>
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
srand(time(NULL));
bool star=false;
cout<<"Введите кол-во точек на плоскости: ";
int size,value;
cin>>size;
cout<<"Введите величину: ";
cin>>value;
int array_x1[size],array_y1[size],array_x2[size],array_y2[size];
///Первое множество точек х1,у1 генерируются в передлах 0-30
///Второе множество точек х2,у2 генерируются в передлах 70-100
for(int i=0;i<size;++i)
{
array_x1=rand()%30;
array_x2=70+rand()%30;
array_y1=rand()%30;
array_y2=70+rand()%30;
cout.width(3);
cout<<"x1="<<array_x1<<" y1="<<array_y1<<" x2="<<array_x2<<" y2="<<array_y2<<endl;
}
cout<<"Расстояние превышает заданную величину:\n";
for(int i=0;i<size;++i)
{
for(int j=i+1;j<size;++j)
{
int x=pow(abs(array_x1-array_x2[j]),2);///x^2
int y=pow(abs(array_y1-array_y2[j]),2);///y^2
if(sqrt(x+y)>value)
{
star=true;
cout.width(3);
cout<<"x1="<<array_x1<<" y1="<<array_y1<<" x2="<<array_x2[j]<<" y2="<<array_y2[j]<<endl;
}
}
}
if(star!=true)cout<<"SORRY Таких отрезков не найденно ";
return 0;
}
она решена, но в программе в которой надо ее сделать она не работает
#include <iostream>
#include <time.h>
#include <math.h>
#include <cstdlib>
#include <windows.h>
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
srand(time(NULL));
bool star=false;
cout<<"Введите кол-во точек на плоскости: ";
int size,value;
cin>>size;
cout<<"Введите величину: ";
cin>>value;
int array_x1[size],array_y1[size],array_x2[size],array_y2[size];
///Первое множество точек х1,у1 генерируются в передлах 0-30
///Второе множество точек х2,у2 генерируются в передлах 70-100
for(int i=0;i<size;++i)
{
array_x1=rand()%30;
array_x2=70+rand()%30;
array_y1=rand()%30;
array_y2=70+rand()%30;
cout.width(3);
cout<<"x1="<<array_x1<<" y1="<<array_y1<<" x2="<<array_x2<<" y2="<<array_y2<<endl;
}
cout<<"Расстояние превышает заданную величину:\n";
for(int i=0;i<size;++i)
{
for(int j=i+1;j<size;++j)
{
int x=pow(abs(array_x1-array_x2[j]),2);///x^2
int y=pow(abs(array_y1-array_y2[j]),2);///y^2
if(sqrt(x+y)>value)
{
star=true;
cout.width(3);
cout<<"x1="<<array_x1<<" y1="<<array_y1<<" x2="<<array_x2[j]<<" y2="<<array_y2[j]<<endl;
}
}
}
if(star!=true)cout<<"SORRY Таких отрезков не найденно ";
return 0;
}