2012-03-04 55 views

答えて

2

[]ではなく()を使用して配列項目にアクセスする必要があります。

また、あなたは個別項目の各ペアに機能distを適用する必要があります。

int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]); 

あなたもループでこれを書くことができます。

int L = 0; 
for (int i = 0; i < 5; i++) 
    L += dist(R[i], R[i+1]); 
1

を個々の配列要素にアクセスするには、使用[](および)

int L = dist (R[0], R[1]) ... 

あなたはおそらくも明白な誤りのほかに他のペア

dist(R[0], R[1]) + dist(R[1], R[2]) + ... 
0

ためdist()関数をコールしたい - ()の代わり[]と配列要素にアクセスし、あなたのコードといくつかの他の論理の問題があります。式

dist (R[0],R[1]) + (R[1],R[2]) 

はあなたの考えをしません。それはdist (R(0),R(1))と評価し、それをR(2)に追加します。 R(1)という用語は計算に影響を与えません。これがカンマオペレータ,の仕組みです。あなたはおそらく

int L= dist(R[0],R[1]) + dist(R[1],R[2]) + dist(R[2],R[3]) + dist(R[3],R[4]) + dist(R[4],R[5]); 

代わりの

int L= dist(R[0],R[1]) + (R[1],R[2]) + (R[2],R[3]) + (R[3],R[4]) + (R[4],R[5]); 

をしたい

あなたはおそらく、あなたの出力は、あなたが期待したものとは異なった理由を尋ねる5分で戻ってきたと思います。

関連する問題