[ nnvlahovic @ 06.02.2008. 15:45 ] @
Cao svima! E ovako, imam jedan problem i zamolio bih vas i bio bih vam zahvalan mnogo ako biste mogli da mi pomognete da rastumacim ovaj program. Ovo je program gde se konj krece po sahovskoj tabli i mora da obidje sva polja a da pri tom ne stane na isto polje 2 puta. Program radi i sve ali imam taj problem da moram da objasnjavam profesoru "zasto i kako". Ako bi se nasao neko ko ima volje da pomogne bio bih mu zahvalan do beskraja. Hvala jos jednom i pozdrav svima! Code: #include<iostream> #include<iomanip> #include<conio.h> #include "exists.h" #include "possible.h" using namespace std; int main() { int count = 1,k,j; cout <<"position [from (0,0) to (7,7)]:"; cin >>row >>col; cout << endl; board[row][col]=count; while(count!=64) { count++; possible(); exits(count); } for(j=0;j<=7;j++) { for(k=0;k<=7;k++) cout << setw(3) << board[j][k]; cout <<"\n\n"; } _getch(); return 0; } const int ver[]={-1,-2,-2,-1,1,2,2,1}, hor[]={2,1,-1,-2,-2,-1,1,2}; int row,col,npos; int board[8][8],nextij[8][8][8],accessible[8][8]; void possible() { int npos; for(int r=0;r<=7;r++) { for(int c=0;c<=7;c++) { npos = 0; for(int i=0;i<=7;i++) { if(((r+ver[i] >=0) && (r+ver[i] <=7))&&((c+hor[i] >=0) && (c+hor[i] <=7))&&(board[r+ver[i]][c+hor[i]] == 0)) { nextij[r][c][npos] = i; npos++; } } accessible[r][c] = npos; } } } #include"variablel.h" void exits(int l) { int min = accessible[row+ver[nextij[row][col][0]]][col+hor[nextij[row][col][0]]]; int r = row+ver[nextij[row][col][0]],c=col+hor[nextij[row][col][0]]; for(int i=1;i < accessible[row][col];i++) if(min >= accessible[row+ver[nextij[row][col][i]]][col+hor[nextij[row][col][i]]]) { min =accessible[row+ver[nextij[row][col][i]]][col+hor[nextij[row][col][i]]]; r = row + ver[nextij[row][col][i]]; c = col + hor[nextij[row][col][i]]; } board[r][c]=l; row = r; col = c; } EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to: [code] int main ( int argc, char *argv[] ) { // ... return 0; } [/code] [Ovu poruku je menjao X Files dana 07.02.2008. u 07:08 GMT+1] |