Главная »
2019 » Апрель » 17 » Структура. Максимальное и минимальное расстояние от точки B
10:41 Структура. Максимальное и минимальное расстояние от точки B |
#include <iostream>
#include <ctime>
using namespace std;
struct tochka
{
char name;
double x,y;
};
void vvod(tochka *a, int n);
void vivod(tochka *a, int n);
void max_min(tochka *a, int n, tochka b);
int main()
{
const int n=20;
tochka a[n];
tochka b;
b.x=-2; b.y=-5;
vvod(a,n);
vivod(a,n);
max_min(a,n,b);
system("pause");
}
void max_min(tochka *a, int n, tochka b)
{
double max=sqrt((b.x-a[0].x)*(b.x-a[0].x)+(b.y-a[0].y)*(b.y-a[0].y));
double min=max;
double d;
tochka tmax=a[0],tmin=a[0];
for (int i=0;i<n;i++)
{
d=sqrt((b.x-a[i].x)*(b.x-a[i].x)+(b.y-a[i].y)*(b.y-a[i].y));
if (d>max) {max=d; tmax=a[i];}
if (d<min) {min=d; tmin=a[i];}
}
cout<<"Max="<<max<<" B"<<"("<<b.x<<";"<<b.y<<")";
cout<<tmax.name<<"("<<tmax.x<<";"<<tmax.y<<")"<<endl;
cout<<"Min="<<min<<" B"<<"("<<b.x<<";"<<b.y<<")";
cout<<tmin.name<<"("<<tmin.x<<";"<<tmin.y<<")"<<endl;
}
void vvod(tochka *a, int n)
{
srand(time(0));
for (int i=0;i<n;i++)
{
a[i].name=(char)((int)'A'+rand()%26);
a[i].x=rand()%51-25;
a[i].y=rand()%51-25;
}
}
void vivod(tochka *a, int n)
{
for (int i=0;i<n;i++)
cout<<a[i].name<<"("<<a[i].x<<";"<<a[i].y<<"), ";
cout<<endl;
}
|
Просмотров: 277 |
Добавил: denjes
| Рейтинг: 0.0/0 |