在类对象数组中查找值的唯一出现

时间:2013-04-16 05:08:15

标签: c++ string methods unique counter

已更新

我有一个Class Object数组,最多可容纳50个由此类定义的对象......

class Visitors{
    public:
    string IP;
    string URL;
string dateAccessed;
};

所以我有这些数组,每个值都已经处理好并初始化了。但我想计算在两个日期之间转到相应URL的唯一IP数量。

int getUniques(Visitors info[], string url, string startDate, string endDate){
    int count = 0;
    string temp;
    for (int i = 0 ; i < N ; i++) {
        if (url == info[i].URL && dateChecker(startDate, endDate, info[i].dateAccessed)) {
            if (temp.empty()) {
                temp = info[i].IP;
                cout << "I'm first temp " << temp << endl;
                cout << "First IP " << info[i].IP << endl;
                count++;
            }
            if (!temp.empty() && temp != info[i].IP) {
                cout << "I'm the rest of temp " << temp << endl;
                cout << "I'm the rest " << info[i].IP << endl;
                count++;
            }
        }
    }
    return count;
}

所以,除了一个问题,我已经解决了所有问题。我无法使用此算法正确检查唯一性。我设置它,所以当我的临时字符串为空时,我将第一个找到的IP设置为该temp并检查所有其他的。我遇到的问题是,假设IP是介于1和5之间的值。如果进入temp的第一个IP是1,则第二个和第三个IP可能是2,然后是2。显然2与2不同,但它与1不同,因此允许计数器递增。

我怎么能按照我想要的方式完成这项工作?

0 个答案:

没有答案