C言語なら俺に聞け(入門編)Part 90
■ このスレッドは過去ログ倉庫に格納されています
0445デフォルトの名無しさん
2011/10/17(月) 22:37:42.86#include <stdio.h>
typedef struct{ double params[3]; }wine_t;
int main(void){
wine_t base[]={
{{0.70, 0.50, 0.60}}, {{0.60, 0.70, 0.50}}, {{0.50, 0.60, 0.70}}
};
wine_t target[]={
{{0.63, 0.67, 0.51}}, {{0.46, 0.61, 0.65}}, {{0.73, 0.48, 0.59}},
{{0.48, 0.57, 0.69}}, {{0.63, 0.69, 0.48}}, {{0.73, 0.52, 0.58}},
{{0.54, 0.61, 0.66}}, {{0.57, 0.74, 0.51}}, {{0.72, 0.48, 0.55}}
};
int i, j, k;
char *result=NULL, *place_name[]={"産地A","産地B","産地C"};
double min_distance=0.0, distance, diff;
for(i=0;i<9;i++){
for(j=0;j<3;j++){
distance=0.0;
for(k=0;k<3;k++){
diff=(target[i].params[k]-base[j].params[k]);
distance+=diff*diff;
}
if(j==0 || min_distance>distance){
result=place_name[j];
min_distance=distance;
}
}
printf("%d番目: %.2f %.2f %.2f →このワインは%sです\n", i+1, target[i].params[0], target[i].params[1], target[i].params[2], result);
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています