Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab6(177)

Snippet info

Language

Cpp

Visibility

public

Author

misha127831

Created

2018-12-20T17:29:12Z

Updated

2018-12-20T17:29:12Z

#include<iostream>
#include<ctime>
#include<cmath>
using namespace std;
double dist(int *a, int i1, int i2){
       return sqrt((a[i1]-a[i2])*(a[i1]-a[i2])+(a[i1+1]-a[i2+1])*(a[i1+1]-a[i2+1]));
}
int main(){
    srand(time(0));
    int n;
    cout<<"n="; cin>>n;
    int *a=new int[2*n];
    for (int i=0; i<2*n; i++){
        a[i]=rand()%200-100;
        if (i%2==0) cout<<a[i]<<"\t";
        else cout<<a[i]<<"\n";
    }
    int min1=0, min2=2*n-2, max1=0, max2=2*n-2;
    for (int i=0; i<2*n-1; i+=2)
        for (int j=i+2; j<2*n-1; j+=2){
            if (dist(a,min1,min2)>dist(a,i,j)){
               min1=i;
               min2=j;
            }
            if (dist(a,max1,max2)<dist(a,i,j)){
               max1=i;
               max2=j;
            }
        }
    cout<<endl<<"min distance "<<dist(a, min1, min2)<<":\nx1="<<a[min1]<<", y1="<<a[min1+1]<<"\nx2="<<a[min2]<<", y2="<<a[min2+1];
    cout<<endl<<"max distance "<<dist(a, max1, max2)<<":\nx1="<<a[max1]<<", y1="<<a[max1+1]<<"\nx2="<<a[max2]<<", y2="<<a[max2+1];
    system("pause");
    return 0;
}
INFO