我写了这个C代码:
printf("The source node %d is \n", source);
for(i=0; i<V; i++){ //Each node has books+papers*c[t]
t=0;
c[t]=0.5;
books[i]=1000.;
papers[i]=10;
items[i][t]=books[i]+papers[i]*c[t]; // Initial items
}
for(i=0;i<V;i++){
printf("Items[%d][%d] are %.2f\n",i,t, items[i][t]);
}
for(i=0;i<V;i++){
if(i!=source) { // Assign a random value of probability in the range [0.1,0.4] to the nodes, except the source
prob_items[i]=rand()%(5/10);
} else prob_items[i]=rand()%(3/10); // Assign a random value of probability in the range [0.6,0.9] to the source
}
do {
printf("Please randomly select a lucky node\n");
lucky=rand()%V; //V are the vertices of the graph
} while (lucky!=source);
当我为节点或源分配概率的随机值时,我有这个错误。当然有些不对劲。 我试图为节点和一个选定的(称为源)分配两个不同的值,以便将其中一个节点(即幸运节点)与我的源进行比较。
你能帮帮我吗?谢谢。答案 0 :(得分:0)
我猜问题可能在这里:
rand()%(5/10)
在此计算中,5/10
等于0,因此此代码除以0。