太多的矢量元素。组合计划

时间:2016-07-10 05:32:57

标签: c++ memory vector time statistics

嗨,大家好

我正在为乐透统计制作一个项目,基本上它有“kombinacije4”类,它有第一个数字第二个数字第三个数字第四个数字和上次出现的日期和时间以及组合出现的次数。 / p>

class kombinacije4 {
public:
    Date date;
    Time time;
    int first;
    int second;
    int third;
    int fourth;

    int howMuchRoundsDidntShowedUp;
    int howMuchTimesAppeared;
    void GetCombination(int, int, int, int);
    void GetCombinationsAfterRound(int);
};

然后我有这些元素的载体

std::vector<kombinacije4> fourties;

我初始化这个矢量非常快,但我有一个问题,当我想要更改这些属性,如它最后显示日期和时间或它显示多少,因为有80个数字,在一个圆形他们画20个号码。从这20个数字中,我必须组合4并在fourties中找到它们并更改它们的属性。七百次。因为有700轮。有谁知道如何通过他们的价值观直接访问。也许std::find可以做点什么?显然我有时间限制问题。

在另一方面做任何想法吗?

for(auto i=round.begin();i!=round.end();i++){
        for(auto j=i+1;j!=round.end();j++){
            for(auto k=j+1;k!=round.end();k++){
                for(auto l=k+1;l!=round.end();l++){
                    for(auto p=fourties.begin();p!=fourties.end();p++){
                        -if-statement
                    }
                }
            }
        }
    }
  Obviously this block is going to pass 3 million times through the vector of million and half elements

感谢!

1 个答案:

答案 0 :(得分:0)

要访问向量中对象的成员,您应该只使用myobject[iterator].membername

例如:

for (auto p = fourties.begin(); p!= fourties.end(); p++)
{
    if (fourties.at[p].first == "your data" && 
        fourties.at[p].second == "your data" && 
        fourties.at[p].third == "your data"  && 
        fourties.at[p].fourth == "your data")
    {
        fourties.at[p].date = 'your data';
        fourties.at[p].time = 'your data';
    }
}