本帖最后由 ゞ⑧鸢の翔 于 2013-12-9 10:13 编辑
要统计收看湖南卫视的用户的个人,如图所示,比如统计00:00-01:00之间收看湖南卫视的人数。怎样防止重复统计啊。
我是先一行中湖南卫视收看的次数,若大于0,则用户数加1,可是统计都不对。应该是重复统计了。
[Bash shell] 纯文本查看 复制代码
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
bool flag = true; //统计收看次数
for (int j = TimeStart; j<= TimeEnd && flag;j++)
{
switch (dt.Rows[i][j].ToString())
{
#region
case "CCTV-1": Channel_1[0]++; break;
case "CCTV-2": Channel_1[1]++; break;
case "CCTV-3": Channel_1[2]++; break;
case "CCTV-4": Channel_1[3]++; break;
case "CCTV-5": Channel_1[4]++; break;
case "CCTV-6": Channel_1[5]++; break;
case "CCTV-7": Channel_1[6]++; break;
case "CCTV-8": Channel_1[7]++; break;
case "CCTV-9": Channel_1[8]++; break;
case "浙江卫视": Channel_1[9]++; break;
case "东方卫视": Channel_1[10]++; break;
case "安徽卫视": Channel_1[11]++; break;
case "北京卫视": Channel_1[12]++; break;
case "辽宁卫视": Channel_1[13]++; break;
case "山东卫视": Channel_1[14]++; break;
case "天津卫视": Channel_1[15]++; break;
case "宁夏卫视": Channel_1[16]++; break;
case "河南卫视": Channel_1[17]++; break;
case "湖北卫视": Channel_1[18]++; break;
case "四川卫视": Channel_1[19]++; break;
case "江西卫视": Channel_1[20]++; break;
case "贵州卫视": Channel_1[21]++; break;
case "广东卫视": Channel_1[22]++; break;
case "吉林卫视": Channel_1[23]++; break;
case "河北卫视": Channel_1[24]++; break;
case "重庆卫视": Channel_1[25]++; break;
case "广西卫视": Channel_1[26]++; break;
default: break;
#endregion
}
if (j == TimeEnd)
{
flag = false; break;
}
}[/i][i]//统计人数【这里不对】
if (flag==false)
{
for (int k = 0; k < 27; k++)
{
if (Channel_1[k] > 0)
{
PerChannelUsers[k]++;
}
else
{
}
}
}
谢谢!
|