コードに問題があります。このコードの意図は、隣人を数え、オプションに応じて配列を変更することです。テストを繰り返した後、リクエスト : nbVoisins = nb_voisins_M(tab, i, j, n, m);
(who couting neightbors) とその直後の行if(nbVoisins = b)
の値が同じではないことがわかりました。そして、私はその理由を理解していません...
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;
}
}
}
}
}