Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/12/2010, 12:33
prop
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta actualizacion de valores

tengo el diseño de un programa que utiliza backtracking, pero los valores de voa y soa no se actualizan, saben a q se puede deber?¿


typedef struct{
int bact; //suma acumulada (beneficio)
int B[n];
int s[n];

}back;

void bactracking(int s[])
{

back b;
int nivel = 0, i, voa = -1, *soa = 0; //declaracion de variables

for(i=0; i<n;i++) //inicializacion de s
*(s+i) = -1;
soa = (int *)malloc(n*sizeof(int));

do
{
if(nivel < n-1)
generar(nivel, s);
if(solucion(nivel, s) && (b.bact > voa))
{
voa = b.bact;
for(i=0; i<3; i++)
*(soa+i)=*(s+i);
}
if(criterio(nivel, s))
nivel = nivel + 1;
else
while(masHermanos(nivel, s) == 0 && nivel > -1)
retroceder(nivel, s);
}while (solucion(nivel, s) != 1);

for(i=0; i<n; i++)
printf("soa: %d\n", *(soa+i));
printf("voa: %d\n", voa);

}