欧几里得距离
#include<iostream> #include<cmath> using namespace std; //calculate the Euclid's distant /////////////////////////////////////////////////////////////////////////// class Distance{ public: Distance(int m,double array1[],double array2[]); void distance(double a[],double b[]);//calculate the distance void set(double array1[],double array2[]); double get(){ return Result; } ~Distance(){} private: int n; double* a;//declare two objects double* b; double square; double Result;// The result of Euclid's distanst }; Distance::Distance(int m,double array1[],double array2[]){ n=m; set(array1,array2); distance(a,b); } void Distance::set(double array1[],double array2[]){ a=array1; b=array2; } void Distance::distance(double a[],double b[]){ square=0; for(int i=0;i<n;i++){ square+=(a[i]-b[i])*(a[i]-b[i]); } Result=sqrt(square/n); } /////////////////////////////////////////////////////////////////////// //the main function int main(){ int n; cout<<"Please input the dimensions n:"; cin>>n; double a[n]; double b[n]; cout<<"Input the "<<n<<" number for the dimendions of a1:"; for(int i=0;i<n;i++) cin>>a[i]; cout<<"Input the "<<n<<" number for the dimendions of b1:"; for(int i=0;i<n;i++) cin>>b[i]; Distance distance(n,a,b); cout<<"The distance is:"<<distance.get()<<endl; return 0; }