Главная » 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
Всего комментариев: 0
avatar