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;
}
#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]
Nemanja CZ