- ベストアンサー
二つのファイルから一行ずつ取り出して計算
aaa.txt と bbb.txtというファイルがあり、それぞれ 1.1 0.1 -0.2 0.9 … といった感じで一行ずつ数値が入っています。 C言語を用いて、上記ファイルを読み込み、 この二つのファイルから一行ずつ取り出して足し算を行いたい (例えばaaa.txtの一行目が1.1、bbb.txtの一行目が0.9なら1.1+0.9=2.0) のですが、どうすれば良いでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
普通に aaa.txtをオープン bbb.txtをオープン 全行について ・aaa.txtから1行読む ・bbb.txtから1行読む ・計算結果を出力 を繰り返す オープンしたファイルをクローズ ってだけですよ。 ところで、Cでやらなければならない理由はありますか? 例えば、UNIX系OSだと、次の1行のコマンドです。 paste aaa.txt bbb.txt | awk '{print $1+$2}' ExcelでA列にaaa.txt,B列にbbb.txtを貼り付けて、C1に=A1+B1→下へコピーでもできます。
その他の回答 (3)
- wormhole
- ベストアンサー率28% (1626/5665)
>また計算結果は新たなファイルを作成し、そこに書き込むようにお願いします。 「どうすれば良いでしょうか」から「私の代わりに作ってください」に変わってる気がしますが。 とりあえず1つのファイルを1行ずつ読み込んで別のファイルに書き出すということはできますか? できないのでしたらまずはそれをできるようになるべきかと思います。
お礼
ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
やっぱり > ファイルマージのアルゴリズムを探すと良いでしょう。 で合ってると思います。 「マージファイル出力の処理部分」を「計算結果出力」にすればOK。
お礼
ありがとうございました。
- bin-chan
- ベストアンサー率33% (1403/4213)
ファイルを読み出す処理を2つ作って、交互に呼ぶ。 ファイルマージのアルゴリズムを探すと良いでしょう。 でもね ・2つのファイル行数が異なる場合、あるいは0行ならどうするの? ・計算した結果をどうするの?
お礼
ありがとうございました。
補足
ファイル行数は同数、0行はないという前提でお願いします。 また計算結果は新たなファイルを作成し、そこに書き込むようにお願いします。
お礼
ありがとうございました。 コマンドの方が簡単ですね。