#include "stdafx.h" #include #include #include using namespace std; const int N=8; int v[N][N]; int zx[N][N]; int zy[N][N]; void init(){ for(int i=0;i=0 && j<=N-1 && j>=0) { if (v[i][j]==-1 || v[i][j] > k) { v[i][j]=k; zx[i][j]=x; zy[i][j]=y; skoc(i,j, i+2,j+1, k+1); skoc(i,j, i-2,j+1, k+1); skoc(i,j, i+2,j-1, k+1); skoc(i,j, i-2,j-1, k+1); skoc(i,j, i+1,j+2, k+1); skoc(i,j, i-1,j+2, k+1); skoc(i,j, i+1,j-2, k+1); skoc(i,j, i-1,j-2, k+1); } } }; void vypis () { for(int i=0;i= 0 && t <= 9) c = '0' + t; else if (t >= 10) c = 'A' + t - 10; else if (t == -1) c = '.'; else c = 'x'; cout<< c <<" "; } cout << endl; } } void cesta(int i, int j) { while(i >= 0 && j>=0) { cout << i << " " << j << endl; int x = zx[i][j]; int y = zy[i][j]; i=x; j=y; } } void cesta_zpet (int i, int j) { if(i >= 0 && j>=0) { cout << i << " " << j << endl; cesta_zpet(zx[i][j], zy[i][j]); } } void cesta_tam (int i, int j) { if(i >= 0 && j>=0) { cesta_tam(zx[i][j], zy[i][j]); cout << i << " " << j << endl; } } int _tmain(int argc, _TCHAR* argv[]) { init(); int i=0; int j=0; skoc(-1,-1, i,j, 0); vypis(); cesta(7,7); cout << endl; cesta_zpet(7,7); cout << endl; cesta_tam(7,7); system ("pause"); return 0; }