13,825
社区成员
发帖
与我相关
我的任务
分享
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
#include <iostream>
#include <vector>
#include <math.h>
class CRGB
{
public:
int r,g,b;
CRGB(int x,int y,int z):r(x),g(y),b(z){}
};
double _distance(CRGB r1,CRGB r2)
{
double x=pow((r1.r-r2.r),2.0);
double y=pow((r1.g-r2.g),2.0);
double z=pow((r1.b-r2.b),2.0);
return sqrt(x+y+z);
}
int main()
{
using namespace std;
vector <CRGB> front,back;
for(int i=0;i <16;i++)
{
int a,b,c;
cin>>a>>b>>c;
front.push_back(CRGB(a,b,c));
}
for(int e,f,g;cin>>e>>f>>g;)
{
if(e==-1)
break;
back.push_back(CRGB(e,f,g));
}
for(int j=0;j <back.size();j++)
{
double temp=_distance(back[j],front[0]);
int sign=0;
for(int k=0;k <front.size();k++)
if(temp>_distance(back[j],front[k]))
{
temp=_distance(back[j],front[k]);
sign=k;
}
cout <<"(" <<back[j].r <<"," <<back[j].g <<"," <<back[j].b
<<") maps to (" <<front[sign].r <<"," <<front[sign].g
<<"," <<front[sign].b <<")\n";
}
return 0;
}
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
class RGB
{
public:
int r,g,b;
RGB(int x,int y,int z):r(x),g(y),b(z){}
};
double distance(RGB r1,RGB r2)
{
double x=pow((r1.r-r2.r),2.0);
double y=pow((r1.g-r2.g),2.0);
double z=pow((r1.b-r2.b),2.0);
return sqrt(x+y+z);
}
int main()
{
vector <RGB> front,back;
for(int i=0;i <16;i++)
{
int a,b,c;
cin>>a>>b>>c;
front.push_back(RGB(a,b,c));
}
for(int e,f,g;cin>>e>>f>>g;)
{
if(e==-1)
break;
back.push_back(RGB(e,f,g));
}
for(int j=0;j <back.size();j++)
{
double temp=distance(back[j],front[0]);
int sign=0;
for(int k=0;k <front.size();k++)
if(temp>distance(back[j],front[k]))
{
temp=distance(back[j],front[k]);
sign=k;
}
cout <<"(" <<back[j].r <<"," <<back[j].g <<"," <<back[j].b
<<") maps to (" <<front[sign].r <<"," <<front[sign].g
<<"," <<front[sign].b <<")\n";
}
return 0;
}