Probleme du sac a dos en C

Julie -  
 grdscarabe -
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)=min(A(i,v),A(i,v-Vi+1)+Pi+1) si Vi+1<=v
A(i+1)=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 !

6 réponses

  1. retournescheztamere
     
    fais tes devoirs tout seul

    ne viens ici qu'en cas de question technique sur l'exercice par pour qu'on te le fasse !
    0
  2. marvinrouge
     
    Salut Julie,

    je l'ai fait. j'ai le code + le mémoire imprimés.

    si t'es motivée, indique moi ton offres en euros sur mon email marvinrouge@hotmail.com
    0
  3. Mary
     
    bah je demande pas qu'on me le fasse, je demande just si quelqu'un peut m'expliquer pour le v !
    0
  4. Julie
     
    moi, jcomprends, jviens sur un forum pour demander e l'aide et je me fais descendre,
    je demande pas qu'on me le fasse, j'ai juste demandé si quelqu'un pouvais m'expliquer pour le 'v'
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. grdscarabe
     
    A(i+1)=min(A(i,v),A(i,v-Vi+1)+Pi+1) si Vi+1<=v
    A(i+1)=A(i,v)

    je pense qu'il te manque quelque chose...ce serait pas plutôt A(i+1,v) ?
    0
  7. Julie
     
    ah mince oui desolé :/
    c'est bien A(i+1,v)

    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)
    0
    1. grdscarabe
       
      Et bien voilà, il s'agit juste d'une fonction récursive à implémenter, mais fais attention, ce doit êter ceci exactement :

      A(i+1,v)=min(A(i,v),A(i,v-V(i+1))+P(i+1)) si V(i+1)<=v
      A(i+1,v)=A(i,v) sinon

      avec V(i+1) l'itération suivante de v ou quelque chose dans ce goût là....
      0