问题描述
我最初的问题是从数据文件制作直方图,其中包含许多0到256之间的数字,而我试图计算落入这些间隔之间的数字:{{0; 16} {16 ; 32} {32; 64} ... {240; 256}}。
例如,如果我的第一个数字介于第一个间隔之间,则将“ bin”数组的第一个元素增加一个,如果它介于第二个间隔之间,则将“ bin”数组的第二个元素增加一个...
是“如果”结构导致失败了吗?
(原谅我,如果它有严重缺陷或看起来很愚蠢,我是新手)
这是我的代码:
int* count(int leap,int *Pbin) { //leap refers to how I want to set the intervals
int bin[leap];
for (int i=0; i<leap; ++i)
{
bin[i] = 0;
}
Pbin = &bin[0];
for(int i=0; i<n; i++)
{
for(int j=1; j<i;j++)
{
if ( v[i]<(leap) ) Pbin[0]++; // 'v' vector stores the numbers of my data file
else if ( v[i]<((j+1)*leap) && v[i]>(j*leap) ) Pbin[j]++;
}
}
return Pbin;
}
int bin2[16];
int* frek = count(16,bin2);
printf("\n%d\n",frek[0]);
printf("%d\n",frek[1]);
printf("%d\n",frek[3]);
它什么也没打印出来。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)