我有一个包含12个不同趋势线的图表。我想通过将所有12个趋势线的值加在一起来生成单个趋势线,如下所示:
for (i = 0, cumulativeTrendValue = 0; i < 12; ++i)
{
cumulativeTrendValue += trendLine[i];
}
然后我将此cumulativeTrendLine的值提供给另一个函数。 这很简单。但现在我想为此添加变体 为12条趋势线中的每条趋势线分配3种不同权重中的1种。例如,第一个 通过为每个趋势线分配权重1来创建累积趋势线;该 next将通过将权重2分配给第一个趋势线来创建,并将1分配给 休息趋势线等,令人作呕。
现在我确定之前已经有人问过这个问题,但我花了2个小时 试图在c中找到一个实现,但不能。 (顺便说一下,这不是家庭作业,以防你想知道。你可以看看我过去几年的其他问题来确认这一点。)
所以,我的问题是:我可以使用哪些关键字来查找此问题之前已被回答的位置。或者,如果您今天特别放弃,可以在此处提供问题/答案的链接。
答案 0 :(得分:1)
对我来说最明显的解决方案是为权重添加另一个数组,以匹配tredLine
数组。
但是,如果您想按照问题中的概述进行算法运算,那么您可以在当前时间之外使用另一个循环,并在旧内循环中使用倒数计数器。像这样:
for (weight = 1; weight < 12; weight++)
{
int currentWeight = weight;
for (i = 0, cumulativeTrendValue = 0; i < 12; i++)
{
cumulativeTrendValue += trendLine[i] * currentWeight;
if (currentWeight > 1)
currentWeight--;
}
/* Use cumulativeTrendValue someway */
}