我想统计float数据的出现次数。一些列float数据保存在一个result2.txt文件中,将文件打开后统计每个数据出现的次数。
数据如下:
25.01
24.895
25.4
24.965
下面是我的程序
void main()
{
fstream fMyfile;
fMyfile.open("C:\\result2.txt",ios::in);
if(!fMyfile){cout<<"error";
exit(-1);}
float avertemp[100];
int d2,d3;
float d1,d4;
int result[60];
for(int a=0;a<50;a++)
{result[a]=0;}
for(int i=0;i<40;i++)
{
fMyfile>>avertemp[i];
d2=0;
for(float d=24.75; d<=25.25;)
{
if ((avertemp[i]-d)==0)
{
result[d2]=result[d2] +1;
}
d=(float)(d+0.01);
d2++;
}
}
fMyfile.close ();
d1=24.75;
for(int j=0;j<50;j++)
{
cout<d1=d1+0.01;
}
}
现在我的结果都是0,不知道给怎么改?也就是说if ((avertemp[i]-d)==0) 根本就没起作用,但是该怎么改呢?
请指教,谢了!
--------------------next---------------------
5.01
24.895
25.4
24.965
下面是我的程序
void main()
{
fstream fMyfile;
fMyfile.open("C:\\result2.txt",ios::in);
if(!fMyfile){cout<<"error";
exit(-1);}
float avertemp[100];
int d2,d3;
float d1,d4;
int result[60];
for(int a=0;a<50;a++)
{result[a]=0;}//这个地方是不是有什么不正常啊??
for(int i=0;i<40;i++)
{
fMyfile>>avertemp[i];
d2=0;
for(float d=24.75;d+=0.01; d<=25.25;)//你这个地方是不是没有自加啊???
{
if ((avertemp[i]-d)==0)
{
result[d2]=result[d2] +1;
}
d=(float)(d+0.01);
d2++;
}
}
fMyfile.close ();
d1=24.75;
for(int j=0;j<50;j++)
{
cout<d1=d1+0.01;
}
}
呵呵,兄弟,你的循环真是多啊,看的我头都大了。
以后,最好把每一个循环的作用都标出来,这样,即方便你日后看,也方便别人帮你看。
--------------------next---------------------
阅读(1064) | 评论(0) | 转发(0) |