Programing.BlogSky.com
X
تبلیغات
رایتل

 

ماز 8*8

Int main ( ) {d
Int a [8] [8 ]={ null } , b [ 2 ] [ 64 ] , c [ 8 ] [ 8 ] = {null } ;d
Cout < < “ enter table “ ; d
For (int m= 0 ; m<8 ; m++ )d
For ( int j = 0 ; j < 8 ; j++)d
Cin >> a[ m] [j ] ;d
m = 0; j = 0 ; d
while (m <7 || j < 7 ) {d
b [ 0 ] [ k ] = m ;d
b [ 1 ] [ k ] =j ;d
k++;d
if ( j < 7 && a [ m ] [ j +1 ] ==1 && c [ m ] [ j + 1 ] = = 0 )d
{ a [ m ] [ j + 1 ] = “s” ; j++ ; continue ; }d
if ( m < 7 && a [ m + 1 ] [ j] ==1 && c [ m + 1] [ j] = = 0 )d
{ a [ m + 1 ] [ j ] = “s” ; m++ ; continue ; }d
if ( j > 0 && a [ m ] [ j -1 ] ==1 && c [ m ] [ j - 1 ] = = 0 )d
{ a [ m ] [ j -1 ] = “s” ; j- -; continue ; }d
if ( m > 0 && a [ m - 1 ] [ j] ==1 && c [ m - 1] [ j] = = 0 )d
{ a [ m - 1 ] [ j ] = “s” ; m- -; continue ; }d
K - - ; k - - ;d
C [ m ] [ j ] = 1 ;d
A [ m ] [ j ] = 1 ;d
M = b [ 0 ] [ k ] ; j = b [ 1 ] [ k ] ; d
If ( k = = -1 ) { cout < < “no way \ n “ ; } d
} / / end while d
A [ 0 ] [ 0 ] = “ s” ;d
B [ 0 ] [ k ] = 7 ; b [ 1 ] [ k] = 7 ;d
For ( m=0 ; m < 8 ; m++) // print way d
{ for ( j = 0 ; j < 8 ; j++ )d
Cout < < a[ m ] [ j ] < < ‘ ‘ ;d
Cout << “ \n” ; }d
} / / end barname 

این تمام دستورات اصلی برنامه ست دیگه جزییاتشو مثل تعریف متغییرها و نوشتن سرفایل با خودتون .
توی این برنامه ای که نوشتم جاهایی که خونه ی ماتریس برابر 1 هستش رو میشناسه و جلو میره که برای جلوگیری از بازگشت به خونه ی قبلی وایجاد یک حلقه ازماتریس دوم استفاده کردم و برای موقعی که به بن بست میرسه وباید به خونه ی قبلی برگرده از پشته استفاده کردم که همونطور که میبینید دارای دو سطر ه سطر اول برای نگه داشتن سطر ماتریس وسطر دوم پشته برای نگه داشتن ستون ماتریسه . 

بازم اگه راجع به برنامه سوالی بود بپرسین !!!!!!! (به خاطر تغییر فونت مجبور شدم یه کاراکتر به اخر دستورات اضافه کنم )