eudist.cpp

来自「求向量的欧式距离」· C++ 代码 · 共 88 行

CPP
88
字号
#include<iostream.h>
#include<vector>
#include<math.h>
#include<string>
#include<algorithm>
#include<fstream>

using namespace std;

double GetDist(const vector<double>,const vector<double>);

void main()
{
	/*
   vector<double> feture1;
   vector<double> feture2;
   for(int j=0;j<5;j++)
   {
      srand(j+1);
	  feture1.push_back(j*2+rand()%(j+1));
	  feture2.push_back(j*3+rand()%(j+1));
	  
   }
   for(int i=0;i<feture1.size();i++)
   {
      cout.width(4);
	  cout<<feture1[i];
   }
   cout<<endl;
    for(i=0;i<feture1.size();i++)
   {
      cout.width(4);
	  cout<<feture2[i];
   }
   cout<<endl;
   cout<<GetDist(feture1,feture2);
   cout<<endl;
  
   ifstream is;
   is.open("c:\\match.txt");
   cout<<is.is_open()<<endl;
  
   ofstream os;
   os.open("c:\\test.txt",ios::app);
   cout<<os.is_open()<<endl;
   
   ifstream file;
   file.open("e:\\test.txt");
   cout<<file.is_open()<<endl;
   
   char ch;
   vector<char> cvec;
   while(!is.eof())
   {
     is.get(ch);
	// cout<<ch;
	 cvec.push_back(ch);
	 
   }
   cout<<endl;
   for(int k=0;k<cvec.size();k++)
   {
      cout<<cvec[k];
	  os<<cvec[k];
   }
   cout<<endl<<cvec.size()<<endl;
   cout<<count(cvec.begin(),cvec.end(),'95')<<endl;
   */


}
//求两个向量的欧式距离

double GetDist(const vector<double> dvec1,const vector<double> dvec2)
{
   double sum=0.0;
   double temp=0.0;
   if(dvec1.size()!=dvec2.size()) {return 0.0;}
   for(int i=0;i<dvec1.size();i++)
   {
       temp=fabs(dvec1[i]-dvec2[i]);
	   sum+=temp*temp;
   }

   return sum;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?