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
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 de jlgd
1