• 全部
  • 问答

在线等,大虾帮忙看看问题在哪?

skyhawkf119 2009-04-12 08:53:26
各位大虾,
小弟在各位大虾的帮助下,写了如下代码,想实现从一组数据当中,对每类数据实现近似均衡的采样,但发现程序只运行一次就跳出了,请问问题出在哪??谢谢。

coreNum = 0;
int sampleNum = 0;
int nr_class = sg_info->nr_class;

while (1)
{
int j =0;
// choose a small subset as initialization
while ((j < nr_class)&&(sampleNum < INITIAL_CS))
{
int idx;
int rand32bit = random();
int start = sg_info->start[j];
int count = sg_info->count[j];
int pos = start + (rand32bit%count);
idx = sg_info->perm[pos];
if (chklist[idx] < 1)
{
chklist[idx] = 1;
sampled_flag[idx] = 1;//bug here

coreIdx[coreNum] = idx;
outAlpha[sampleNum] = 1.0/INITIAL_CS;
tempD[sampleNum] = 0.0;

j++;
sampleNum++;
coreNum++;
}
}
break;
}

}
...全文
49 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tanlee007 2009-04-12
近似均衡的采样?
j < nr_class?
sampleNum < INITIAL_CS?
回复
skyhawkf119 2009-04-12
[Quote=引用 1 楼 xylicon 的回复:]

coreNum  = 0;
int sampleNum = 0;
int nr_class  = sg_info->nr_class;

while (1)
{
int j =0;
// choose a small subset as initialization
while ((j < nr_class)&&(sampleNum < INITIAL_CS))
{
int idx;
int rand32bit = random();
int start    = sg_info->start[j];
int count    = sg_info->count[j];
int pos      = start + (rand32bit%count);
idx      = sg_info->perm[pos];
if (chklist[idx]…
[/Quote]
while (1) 改成sampleNum < INITIAL_CS ,去掉break就好了。
已经明白了,就是不知道有没有更好的写法,您有建议吗?
回复
xylicon 2009-04-12

coreNum = 0;
int sampleNum = 0;
int nr_class = sg_info->nr_class;

while (1)
{
int j =0;
// choose a small subset as initialization
while ((j < nr_class)&&(sampleNum < INITIAL_CS))
{
int idx;
int rand32bit = random();
int start = sg_info->start[j];
int count = sg_info->count[j];
int pos = start + (rand32bit%count);
idx = sg_info->perm[pos];
if (chklist[idx] < 1)
{
chklist[idx] = 1;
sampled_flag[idx] = 1;//bug here

coreIdx[coreNum] = idx;
outAlpha[sampleNum] = 1.0/INITIAL_CS;
tempD[sampleNum] = 0.0;

j++;
sampleNum++;
coreNum++;
}
}
break;
}

}

这个break写在那里当然就会跳出了。
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

5.9w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2009-04-12 08:53
社区公告
暂无公告