- 674 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 02:09:28 ]
- >>663
結局1番と2番は日本語の意味が理解できなかった。 2番は1番の意味がわかればできるけど1番は何回読んでもわからない・・・ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define isOuter(val,ave,sd) ((val)> (ave) + 5*(var)) int main(){ FILE *fp,*fout; char buf[1024],*cp; double data[1024],ave,sum=0,sum2=0,var,sd; int cnt=0,i,k=0; if((fp = fopen("data.txt", "r")) == NULL) return 1; if((fout = fopen("peak.txt", "w")) == NULL) return 1; while((cp = fgets(buf,sizeof(buf),fp)) != NULL){ while((cp = strtok(cp," \t\r\n")) != NULL){ data[cnt] = atof(cp); sum += data[cnt]; sum2 += data[cnt]*data[cnt]; if(++cnt == 1024){ ave = sum / 1024.0; var = sum2 / 1024.0 - ave*ave; sd = sqrt(var); for(i=0;i<1024;i++) if(isOuter(data[i] , ave, sd)) fprintf(fout,"[%d]%f ", i+1,data[i]); fprintf(fout,"\n"); cnt = sum = sum2 = 0; } cp = NULL; } } fclose(fp); fclose(fout); }
|

|