• ベストアンサー

1000個の実数が実数型配列float X[999

1000個の実数が実数型配列float X[999]に格納されているとする。これらの総和を求めたい float sum; sum =0.0; for(i=0,i<1000,i++) sum=sum+X[i]; この部分プログラムの問題点を指摘してどのように改良すればよいか文章で簡潔にこたえよ という問題を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.2

実数型配列入力の有効桁数、総和の有効桁数、倍精度実数が使用可能か等で答は異なってきます。 総和の精度が4-5桁でよい場合には上のままで良いでしょう。 それ以上の精度が必要な場合は、最近の計算機では単精度実数、倍精度実数の演算速度は殆ど同じですので、sumの宣言を変更するのが一番簡単です。 単精度実数しか使えない場合にはforループを2回繰返し、先ず最初のsumから概略の平均値を求め、次に残差の和を求めてsumを補正する形を取ることが出来ます。 (例えばi=1...100000等となった場合を考えてください。最後の方ではsumには入力値の上1-2桁しか反映されなくなってしまいます)

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

言語はなに?

関連するQ&A