修正で更新
配列内の一意のエントリの数だけを返したいです。配列には、IP アドレスを表す文字列変数が含まれています。それらが10個あるが、3つの異なる種類がある場合は、3つを返したいだけです。私のコード:
元のコード
int getUnique(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))){
}
}
return count;
}
更新されたコード
int getUnique(Visitors info[], string url, string startDate, string endDate){
set<string> ips;
for(int i = 0 ; i < N ; i++){
if(url == info[i].URL && (dateChecker(startDate, endDate, info[i].dateAccessed))){
ips.insert(info[i].IP);
}
}
return ips.size();
}
最初の if は、一致する URL が実際に一致するかどうかをチェックdateChecker
し、特定の IP がその URL に移動した日付が 2 つの渡された日付 (startDate
とendDate
) の間にあることを確認します。これらの条件下で異なる IP の数を取得するにはどうすればよいですか?