-1
我的代碼有問題。此代碼的目的是計算鄰居並根據選項修改數組。 經過多次測試後,我觀察到請求:nbVoisins = nb_voisins_M(tab, i, j, n, m);
(who couting neighbours)和剛剛在if(nbVoisins = b)
之後的行不一樣的值;我不明白爲什麼...C - 具有不同值的變量
int i, j, k, nbVoisins; int b = 0;int s = 0;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
nbVoisins = nb_voisins_M(tab, i, j, n, m);
if(tab[i][j]==1)
{
for(k=0; k<9; k++)
{
if(S[k]==1)
{
s = k+1;
//printf("tab[%d][%d] : nbVoisins = %d et s = %d \n",i,j,nbVoisins,s);
if(nbVoisins == s)
{
tab2[i][j]=1;
printf("= %d",tab2[i][j]);
}
else
{
tab2[i][j]=0;
}
}
}
}
else
{
for(k=0; k<9; k++)
{
if(B[k]==1)
{
b = k+1;
}
if(nbVoisins == b)
{
tab2[i][j]=1;
}
}
}
}
}
啊啊是的,我沒有看到那個抱歉...但還有一個問題。當nbVoisins == s時,通常數組的平方在tab2中值爲1。它的工作原理,但值後更改爲0 ...(我改變了我的第一篇文章中的代碼) –