• ベストアンサー

二つのファイルから一行ずつ取り出して計算

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) のですが、どうすれば良いでしょうか。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.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→下へコピーでもできます。

sasmostmilk
質問者

お礼

ありがとうございました。 コマンドの方が簡単ですね。

その他の回答 (3)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>また計算結果は新たなファイルを作成し、そこに書き込むようにお願いします。 「どうすれば良いでしょうか」から「私の代わりに作ってください」に変わってる気がしますが。 とりあえず1つのファイルを1行ずつ読み込んで別のファイルに書き出すということはできますか? できないのでしたらまずはそれをできるようになるべきかと思います。

sasmostmilk
質問者

お礼

ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

やっぱり > ファイルマージのアルゴリズムを探すと良いでしょう。 で合ってると思います。 「マージファイル出力の処理部分」を「計算結果出力」にすればOK。

sasmostmilk
質問者

お礼

ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

ファイルを読み出す処理を2つ作って、交互に呼ぶ。 ファイルマージのアルゴリズムを探すと良いでしょう。 でもね ・2つのファイル行数が異なる場合、あるいは0行ならどうするの? ・計算した結果をどうするの?

sasmostmilk
質問者

お礼

ありがとうございました。

sasmostmilk
質問者

補足

ファイル行数は同数、0行はないという前提でお願いします。 また計算結果は新たなファイルを作成し、そこに書き込むようにお願いします。

関連するQ&A