Por favor

Tengo un pequeño gran problema
Necesito pasar este código de c a visual basic pero ay algunas cosas que no se como representarlas en VB.
#include <stdio.h>
enum bool {FALSE, TRUE};
typedef enum bool boolean;
void ensayar(int i, boolean *q, int col[], boolean fila[], boolean diagb[], boolean diagc[]);
int main(void)
{
int i;
boolean q;
int col[8];
boolean fila[8],diagb[15], diagc[15];
for (i = 0; i < 8; i++) fila = TRUE;
for (i = 0; i < 15; i++) diagb = diagc = TRUE;
ensayar(0,&q,col,fila,diagb,diagc);
if (q) {
printf("
Solucion:");
for (i = 0; i < 8; i++) printf(" %d", col);
} else printf("
No hay solucion");
return 0;
}
void ensayar(int i, boolean *q, int col[], boolean fila[], boolean diagb[], boolean diagc[])
{
int j;
j = 0;
*q = FALSE;
do {
if (fila[j] && diagb[i+j] && diagc[7+i-j]) {
col = j; fila[j] = diagb[i+j] = diagc[7+i-j] = FALSE;
if (i < 7) { /* encuentra solucion? */
ensayar(i+1,q,col,fila,diagb,diagc);
if (!*q)
fila[j] = diagb[i+j] = diagc[7+i-j] = TRUE;
} else *q = TRUE; /* encuentra la solucion */
}
j++;
} while (!*q && j < 8);
}
Me puedes ayudar a descifrar este código perteneciente al problema de las 8 reinas

1 respuesta

Respuesta
1
¿Exactamente qué puntos no entiendes?
Antes que nada gracias
Bueno no entiendo como llamar en visual:
void
int
*q
ensayar(0,&q,col,fila,diagb,diagc);
el void int *q es la declaracion de una variable, llamada q, de tipo Long que se inicializa en vacio, la puedes inicializar a 0 el efecto vale igual.
ensayar(0,&q,col,fila,diagb,diagc);
Esto es la declaración de la función ensayar que le pasa 6 parámetros. Esto no te hace falta a menos que los pongas como modulo de clase, si lo haces como función normal no hagas caso a esta declaración

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas