2017-04-20 14 views
-2

私はこのCコードを書かれている:警告:CコードでEXC_Arithmetic(コード= EXC_1386_DIV、サブコード= 0x0の)

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); 

Iノードまたはソースへの確率のランダムな値を割り当てると、私はそのエラー。もちろん間違ったことがあります。 ノード(つまり、ラッキーノード)の1つをソースと比較するために、ノードと選択された1つのソース(ソース)に2つの異なる値を割り当てようとしています。

私を助けてもらえますか?ありがとうございました。

+0

で除算あなたは**短縮したい場合があります**あなたサンプルプログラム([mcve]); **また**あなたがあなたの警告/エラーをどの行に表示するかもしれない。 – anatolyg

答えて

0

私は問題はここにあるかもしれないと思い:この計算で

rand()%(5/10) 

5/10 0に等しいので、このコードは0

+0

ありがとう、anatolyg。 –

関連する問題