C语言中的频率直方图
有人能告诉我直方图的伪代码是什么样子的吗 那么,您可能会在标题的顶部有一堆printf语句,以赋予数据某种意义。然后可能是一行破折号或等号,或是用作分隔符的东西C语言中的频率直方图,c,C,有人能告诉我直方图的伪代码是什么样子的吗 那么,您可能会在标题的顶部有一堆printf语句,以赋予数据某种意义。然后可能是一行破折号或等号,或是用作分隔符的东西 然后在下面,循环一个数组,其中包含要绘制的值。每行一个。如何构造和填充直方图 小案例只是每个箱子的计数: /* needs error checking, badly */ int *buildHist(int bins, double min, double max, int n, double *data){ double *
然后在下面,循环一个数组,其中包含要绘制的值。每行一个。如何构造和填充直方图 小案例只是每个箱子的计数:
/* needs error checking, badly */
int *buildHist(int bins, double min, double max, int n, double *data){
double *hist=malloc(bins*sizeof(int));
if (hist == NULL) return hist;
for (int i=0; i<n; ++i){
int bin=int( (data[i]-min)/((max-min)/(bins)) );
if ( (bin>=0) && (bin<n) ) hist[bin]++;
}
return hist;
}
/*非常需要进行错误检查*/
int*buildHist(int-bin、双最小值、双最大值、int-n、双*数据){
double*hist=malloc(bin*sizeof(int));
如果(hist==NULL),则返回hist;
对于(int i=0;i=0)和(Bin这个问题需要更多的细节。为什么,因为这个问题很短?有多少种方法可以制作一个标准的直方图?因为他没有说他想要什么,也没有说他在哪里卡住了。说出他想插入的数据类型也很好。我不得不像其他人一样猜测。和继续。我的一个朋友帮我开始了,但是我不知道他打算做什么……以下是我的void computeHistogram(int data[],int data_size,int histo[],int histo_size){int min=9999999;int max=-9999999;int I=0;而(imax){max=data[I];}}printf(“数据的最小值是%d”,min)}看起来他打算动态设置限制。通过一次数据查找限制值,然后通过另一次数据填充直方图。你的朋友给了你一个查找限制的过程,填充过程看起来就像我上面展示的一样。谢谢你,德姆奇,但我被指示不要使用指针……是吗还有其他选择吗?谢谢!像你朋友那样替换数组,并在调用例程中在堆栈上分配这两个数组。然后放弃malloc
。