这是我在这里的第一篇帖子。
我的在线课程的C作业要求我删除实际(非动态分配,指针不使用)中的每一行,其平均和大于整个矩阵的平均和。行应该“移除”,将其下方的行向上移动一个位置。
我已经用以下代码建立了一个矩阵:
int matrix[100][100]
现在,我的想法是创建一个常规的一维数组,其中存储要删除的行的索引。
我就是这样做的:
k = 0;
for (i = 0; i < no_of_rows; i++) {
average
我遇到了一个用例,其中我应该计算移动平均在一个特定的持续时间,例如最近的n天。我知道,如果我存储所有的过去的数据,我可以减去与前几天相应的贡献,这是很容易做到的。但是,我如何有效地计算它,只存储前一天的平均值,而没有以前的数据。
下面是我想要完成的事情
例如,我有5天的数据,比如2,8,5,2,5,现在它的平均值是4.4,如果有第八天的数据是10,那么应该计算运行平均值,去掉前3元素2,8和5,因此平均为3.2。
目前,我采用了一种方法来确定与一天相对应的平均贡献,然后用总平均值减去它,我觉得这是不准确的。
Formula = (avg for past n days) + (today&