ماز 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 هستش رو میشناسه و جلو میره که برای جلوگیری از بازگشت به خونه ی قبلی وایجاد یک حلقه ازماتریس دوم استفاده کردم و برای موقعی که به بن بست میرسه وباید به خونه ی قبلی برگرده از پشته استفاده کردم که همونطور که میبینید دارای دو سطر ه سطر اول برای نگه داشتن سطر ماتریس وسطر دوم پشته برای نگه داشتن ستون ماتریسه .
بازم اگه راجع به برنامه سوالی بود بپرسین !!!!!!! (به خاطر تغییر فونت مجبور شدم یه کاراکتر به اخر دستورات اضافه کنم ) |