シミュレーション結果をまとめるために複数のテキストファイルの同じ行のすべての数字を足し算する必要になりました。ファイル数が少なければexcelを使うのが簡単なのですが、実験結果のファイル数は100個以上あり、1つ1つをexcelに張り付けるには非常に手間がかかるのでC言語のプログラムをつくることにしました。
しかしプログラム初心者の私にはとても困難で、いろいろなサイトや文献を見ながら作った下記のプログラムはコンパイルすることもできません。おそらくこの掲示板の方々から見てもなにがやりたいのかわからないプログラムになっているかとおもいます。
コンパイル時のメッセージは
plus.c: 関数 `main' 内:
plus.c:26: error: invalid operands to binary +
で、OSはLinuxそしてコンパイラはgccを使用しています。
どうかアドバイスをお願い致します。
ちなみに下記のプログラムは試作で読み込むファイルは2つにしており、テキストファイルは
0.000458178716724
0.000602568058547
0.000017878041971
0.000365531605123
0.000634661729389
0.000637913861752
0.000466100732644
0.000251665389012
0.000086174078951
0.000007442193411
0.000012706840213
・
・
・
このような感じに1行に1つ数値が入っており、これが999行目まで続いてます。
#include<stdio.h>
typedef struct{
char suti1[1000];
char suti2[1000];
} jikken;
main(){
FILE *f1, *f2, *fk;
int i=0,n;
char buf[256];
jikken simu1[1000];
jikken simu2[1000];
f1=fopen("1.txt", "r");
f2=fopen("2.txt", "r");
fk=fopen("kekka.txt", "r");
while((fgets(buf,15000,f1))!=NULL){
sscanf(buf,"%2.15lf\n",&simu1[i].suti1);
i++;
}
while((fgets(buf,15000,f2))!=NULL){
sscanf(buf,"%2.15lf\n",&simu2[i].suti2);
i++;
}
n=i;
for(i=0;i<n;i++){
fprintf(fk,"%2.15lf\n",simu1[i].suti1+simu1[i].suti2);
}
fclose(f1);
fclose(f2);
fclose(fk);
}