为c中的一组趋势线指定不同的权重

时间:2013-02-10 17:37:39

标签: c combinations trendline

我有一个包含12个不同趋势线的图表。我想通过将所有12个趋势线的值加在一起来生成单个趋势线,如下所示:

for (i = 0, cumulativeTrendValue = 0; i < 12; ++i)
{
     cumulativeTrendValue += trendLine[i];
}

然后我将此cumulativeTrendLine的值提供给另一个函数。 这很简单。但现在我想为此添加变体 为12条趋势线中的每条趋势线分配3种不同权重中的1种。例如,第一个 通过为每个趋势线分配权重1来创建累积趋势线;该 next将通过将权重2分配给第一个趋势线来创建,并将1分配给 休息趋势线等,令人作呕。

现在我确定之前已经有人问过这个问题,但我花了2个小时 试图在c中找到一个实现,但不能。 (顺便说一下,这不是家庭作业,以防你想知道。你可以看看我过去几年的其他问题来确认这一点。)

所以,我的问题是:我可以使用哪些关键字来查找此问题之前已被回答的位置。或者,如果您今天特别放弃,可以在此处提供问题/答案的链接。

1 个答案:

答案 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 */
}