Backtracking / algoritmo caballo / C to Visual
Publicado por CraWler (1 intervención) el 27/10/2002 17:35:50
Hola, tengo el siguiente código en C que muestra la resolución del algoritmo del caballo... usando backtracking, ahora necesito pasarlo a Visual Basic v.X, pero el caso es que estoy teniendo unos absurdos problemas... si alguien me hecha un cable se lo agradeceré eternamente. Thanx.
#include <stdio.h>
#define N_CUADROS 8
#define N_SALTOS 8
#define CIERTO 1
#define FALSO 0
static int tablero_virtual[N_CUADROS+4][N_CUADROS+4];
static int dx[N_SALTOS]={ 2, 1,-1,-2,-2,-1, 1, 2};
static int dy[N_SALTOS]={ 1, 2, 2, 1,-1,-2,-2,-1};
static void inicia_tablero(void);
void presenta_tablero(void);
static int ensaya_movimiento(int n,int x,int y);
int main(void)
{
inicia_tablero();
printf("\ncalculando, espere por favor\n");
if(ensaya_movimiento(1,2,2))
printf("Resultado:");
else
printf("No hay soluci¢n");
presenta_tablero();
return 0;
}
static void inicia_tablero(void)
{
int i,j;
for(i=0;i<N_CUADROS+4;i++) {
for(j=0;j<N_CUADROS+4;j++) {
if(i>1 && i<N_CUADROS+2 && j>1 && j<N_CUADROS+2 )
tablero_virtual[i][j]=0;
else
tablero_virtual[i][j]=-1;
}
}
}
void presenta_tablero(void)
{
int i,j;
for(i=0;i<N_CUADROS+4;i++) {
printf("\n");
for(j=0;j<N_CUADROS%2
#include <stdio.h>
#define N_CUADROS 8
#define N_SALTOS 8
#define CIERTO 1
#define FALSO 0
static int tablero_virtual[N_CUADROS+4][N_CUADROS+4];
static int dx[N_SALTOS]={ 2, 1,-1,-2,-2,-1, 1, 2};
static int dy[N_SALTOS]={ 1, 2, 2, 1,-1,-2,-2,-1};
static void inicia_tablero(void);
void presenta_tablero(void);
static int ensaya_movimiento(int n,int x,int y);
int main(void)
{
inicia_tablero();
printf("\ncalculando, espere por favor\n");
if(ensaya_movimiento(1,2,2))
printf("Resultado:");
else
printf("No hay soluci¢n");
presenta_tablero();
return 0;
}
static void inicia_tablero(void)
{
int i,j;
for(i=0;i<N_CUADROS+4;i++) {
for(j=0;j<N_CUADROS+4;j++) {
if(i>1 && i<N_CUADROS+2 && j>1 && j<N_CUADROS+2 )
tablero_virtual[i][j]=0;
else
tablero_virtual[i][j]=-1;
}
}
}
void presenta_tablero(void)
{
int i,j;
for(i=0;i<N_CUADROS+4;i++) {
printf("\n");
for(j=0;j<N_CUADROS%2
Valora esta pregunta


0