-2

200 個の数値を含むテキスト ファイルがあります。これらの数値の平均値を計算したい (手作業では時間がかかりすぎるため)。私はそのようなことをしたことがないので、これを達成する方法がわかりません。前もって感謝します。

編集: Google で検索してみましたが、役立つものが見つかりませんでした。

4

1 に答える 1

2

単純なC++プログラムは、次の手順を実装します。

  1. ファイルをテキストファイルとして開きます(ファイル名としてコマンドライン引数を使用するのが最適です。ハードコーディングしないでください)。
    • 単純な古いCファイルハンドルではなくストリームを使用します。ファイルを読み取るにはさまざまな可能性があります
  2. 行ごとに読み取り、行をdouble値として解析します
  3. 値を保存してすべての数値を読み取った後に平均を計算するか、読み取り中にその場で平均を計算します
    • 値の保存は、のような動的なデータ構造で行う必要があります。std::vectorそれについて読んでください。
    • その場で計算するということは、すべての値を合計してカウンターをインクリメントすることを意味します。合計を最後のカウンターで割ります
    • 両方の可能性を実装するための演習としてそれを取ります。の平均を計算するstd::vectorには、やはり多くの可能性があります。良いC++スタイルを学ぶために3つの異なる解決策を見つけてみてください。( STLアルゴリズムのグーグル)
  4. 次に、結果を標準出力に出力します。cout

これらの手順を確認し、問題が発生した場合は具体的な質問をしてください。


ただし、これを行うためにC++プログラムは必要ありません。スプレッドシートプログラムは、これに最適なツールです。

このようなタスク用のGUIプログラムが気に入らない場合は、SQLiteも最適なツールです。SQLiteシェルを開き、次のように入力します(data.txt各行に10進数が含まれているファイルであると想定)。

create table tmp (value double);
.import data.txt tmp
select avg(value) from tmp;
于 2013-01-19T15:32:54.857 に答える