[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 04/08 17:58 / Filesize : 131 KB / Number-of Response : 342
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 113代目



219 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:49:39 ]
>>214 20次元の場合の計算方法はこれでいいのか?
#include<stdio.h>
#include<math.h>
#define EPS (1.0e-20)
typedef struct tag_vector20d_t{
double num[20];
}vector20d_t;
double vector20d_size(const vector20d_t *vector20d){
int i; double x2=0.0;
for(i=0;i<20;i++) x2+=vector20d->num[i]*vector20d->num[i];
return sqrt(x2);
}
double vector20d_inner_product(const vector20d_t *a, const vector20d_t *b){
int i; double ret=0.0;
for(i=0;i<20;i++) ret+=a->num[i]*b->num[i];
return ret;
}
double vector20d_cos(const vector20d_t *a, const vector20d_t *b){
double size_a, size_b;
size_a=vector20d_size(a);
size_b=vector20d_size(b);
if(size_a<EPS || size_b<EPS) return -10.0;
return vector20d_inner_product(a, b)/(size_a*size_b);
}
int main(void){
int i; vector20d_t a, b;
for(i=0;i<20;i++) scanf("%lf", &(a.num[i]));
for(i=0;i<20;i++) scanf("%lf", &(b.num[i]));
printf(" %f\n", vector20d_cos(&a, &b));
return 0;
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<131KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef