プロが教えるわが家の防犯対策術!

以下はC言語を用いて、csvファイルを読み込み、各行の値を配列に格納後、総和を求めるプログラムです。
ファイル内の値の総和は求めるプログラムは書けるのですが、例えばTESTcsvファイル内の2行目と5行目の和を求めるプログラムなど、ある特定の行のみを指定して計算を行うようなプログラムはどのように書けばよいかわかりません。
そこで、以下のような質問をさせていただきます。みなさまの回答から今後、自分で応用できるようにしたいと考えています。

質問:
下記のプログラムで/*ここから下*/の部分を変更して、TESTcsvファイル内の2行目と5行目の和を求めるにはどうすればよいか?(→output「25+32=57」としたい)



////////////////////////////////////////////////////////////////////////////
#include <stdio.h>


int main(void){

FILE *fp;
int e[6];
int i, sum=0;

if((fp = fopen("TEST.csv","r"))==NULL){
printf("not open\n");
exit(1);
}
for(i=0;i<=5;i++){
fscanf(fp,"%d",&(e[i]));
}
fclose(fp);



for(i=0;i<=5;i++){
printf("e[%d] = %2d\n",i,e[i]);

}

 /*ここから下*/
for(i=0;i<=5;i++){
sum = sum + e[i];

}

printf("%3d\n",sum);

return 0;
}



//////TESTcsv.file//////
12
25
13
40
32
28
//////////////////


//////output//////
e[0] = 12
e[1] = 25
e[2] = 13
e[3] = 40
e[4] = 32
e[5] = 28
150
//////////////////

A 回答 (1件)

「2行目のデータ」って, どこにあると思う?

    • good
    • 0
この回答へのお礼

上記の質問の回答だと
sum = e[1]+e[4];
でokなんですよね・・・。

すみません。
質問が下手でした・・・。
本当はもっと違う例文から質問するべきでした・・・。
取り敢えず、回答有難うございます。

お礼日時:2015/08/31 13:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!