• Jueves 14 de Noviembre de 2024, 16:43

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - clausula

Páginas: [1]
1
C/C++ / Re: Backtacking, Problema En El Algoritmo
« en: Domingo 1 de Agosto de 2004, 14:30 »
Hola Binary!

Antes de conectarme me vuelto a poner un rato, s'havia que andaba en el buen camino y asi a sido:

Los numeros, los introduce el usuario, con una funcion, pone 5 valores, los cuales se guardan en un vector llamado numeros.

Entonces tengo otro vector que se llama solucio, donde guardo los 0/1, inicializados a 0 previamente.

El codigo es el mismo que el de mi primer mensaje practicamente, lo que el error estaba fuera del codigo javascript:emoticon(':P') perdonen.

while(!trobat && pos < 5) {
      solucio[pos] = 1; //pruebo el numero a 1
      sumar(numeros,solucio,suma_total,trobat);
      buscar(numeros,solucio,suma_total,trobat,pos+1);
      if(!trobat) {
         solucio[pos] = 0;  //sino sa la solucion, el numero que he probado lo pongo a 0
      }
      pos++;
      }

Luego me miro tu forma mas detalladamente.

PD: si alguien quiere el codigo corxat@wanadoo.es

Muchas gracias Binary! :P  :P  :P

2
C/C++ / Re: Backtacking, Problema En El Algoritmo
« en: Domingo 1 de Agosto de 2004, 02:07 »
Ante todo ,muchas gracias por responder.

Tiene que ser con backtracking..., es uno de los temas de la asignatura de mtp (metodologia y tecnica de la programacion), el profe nos a dicho que podemos ir probando con las sumas.


Si puedes decir-me en que estoy actuando mal en el algoritmo, ia sabes ;)

Gracias otra vez.

3
C/C++ / Backtacking, Problema En El Algoritmo
« en: Sábado 31 de Julio de 2004, 12:21 »
Hola a todos!

Simplemente, tengo un vector con 5 elementos, i me suma los que en contienen valor 1 en otro vector, es decir:

a[5] = {1,2,3,4,5}
b[5] = {1,0,0,1,0}

Me sumara 1 mas 4.

El problema es que tengo que hacer en backtraking, io poner X numeros, y saber si pueden sumar Y.

Lo he probado horas y horas, sin resultado, el codigo del backtracking aqui viene (el que e intentado yo)

while(!trobat && pos < 5) {
solucio[pos] = 1;
sumar(numeros,solucio,suma_total,trobat);
if(trobat) { cout << "S'ha trobat la suma" << endl; }
buscar(numeros,solucio,suma_total,trobat,pos+1);
if(!trobat) {
solucio[pos] = 0;
}
pos++;
}
}


Gracias a todos

Páginas: [1]