سلام من برنامه ی 8 وزیر رو با استفاده از الگوریتم عقبگرد که در همین جا الگوریتم و برنامشو به زبان پاسکال گذاشته بودن نوشتم.
تقریبا شبیه کد پاسکالشه ولی خطای زمان اجرا داره و خطاش مربوط به ارایشه که میگه
Index was outside the bounds of the array.و هر جا که من ارایه رو به کار بردم این خطا رو داره.میشه دوستان کمکم کنند و بگن مشکل من چیه؟
for (q = 0; q < 8; q++)
Queense[q] = 0;
numpos=0;
q=1;
while ((q!=0)&&(Queense[0]!=7))
{
safepos=false;
while((Queense[q]<7)&&(!safepos))
{
Queense[q]++;
safepos=true;
n=1;
while((n<q)&&(safepos=true))
{
safepos=((Queense[n]!=Queense[q])||((Queense[n]-Queense[q])!=(n-q)));
n++;
}
}
if (safepos == true)
{
if (q == 8)
{
numpos++;
for (n = 0; n < 8; n++)
label1.Text = Queense[n].ToString()+" ";
}
else q++;
}
else
{
Queense[q] = 0;
q = q - 1;
}
}
}