Probleme du sac a dos en C

Signaler
Messages postés
2
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
13 décembre 2004
-
Messages postés
2
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
3 mars 2007
-
:big) Mary

Salut tout le monde

voila , je dois programmer le probleme du sac a dos en C
mais javoue que je bloque un peu !

on nous donne :

A(i+1,v)=min(A(i,v),A(i,v-Vi+1)+Pi+1) si Vi+1<=v
A(i+1,v)=A(i,v) sinon

bon j'ai compris qu'on applique ca a des sous ensemble mais ce que je n'arrive pas a comprendre c'est ce que vaut v
V c les profits, P les poids et on prends des osus ensemble dans {1,....,i}

Quelqu'un peut m'aider ?

d'avance merci !

2 réponses

Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ton problème d'ordo est écrit ici pour de la ppc (programmation par contrainte)

il n'est pas possible de l'implémenter tel quel en C

car la valeur de v n'est connue qu'en fin de boucle et qu'elle figure dans les criteres de choix

si tu ne veux pas refaire l'algo
oriente toi plutot sur des langages comme Prolog

Magicalement
++
Magic Nono: l'informagicien! 8-)
Messages postés
2
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
3 mars 2007

bien sur ma petite Mary ,je peux t'aider

int choisir(int nbre_obj-1,poid_max_sac)
{
            if(nbre_obj-1= =0)  then  {   if  p[nbre_obj-1]<=poid_max_sac) then v[nbre_obj-1];
                                                        else return0;}
       *****************
    ****************** 
            }

si c bon je vais reprendre ?
 repond moi Mary