<prompt> Unda programu ya C inayotekelezea tatizo la Knapsack kwa kutumia programu inayobadilika. Kwa kuzingatia seti ya vipengee, kila moja ikiwa na uzito na thamani, bainisha idadi ya kila kitu cha kujumuisha katika mkusanyiko ili uzito wa jumla uwe chini ya au sawa na kikomo kilichotolewa na thamani ya jumla iwe kubwa iwezekanavyo.  <response>: cpppamoja na pamoja na kutumia nafasi ya majina std; Kazi ya kupata thamani ya juu ya kifuko kilicho na kikomo cha uzaniint knapSackint W, vekta wt, vekta val, int n Unda jedwali la 2D kwa mbinu ya programu ya nguvu vekta Kn 1, vektaW 1; Jenga meza kwa njia ya chini-juu kwa int i 0; i n; i kwa int w 0; w W; w ikiwa i 0 w 0 Kiw 0; vinginevyo ikiwa wti - 1 w Kiw maxvali - 1 Ki - 1w - wti - 1, Ki - 1w; mwingine Kiw Ki - 1w; rudisha KnW;int main int n, W; cout Ingiza idadi ya vitu: ; cin n; vekta valn, wtn; cout Ingiza maadili na uzito wa vitu: endl; kwa int i 0; i vali wti; cout Ingiza kikomo cha uzito wa mkoba: ; cin W; cout Thamani ya juu zaidi inayoweza kupatikana ni: knapSackW, wt, val, n endl; kurudi 0;Mpango huu wa C hutekeleza tatizo la 01 la Knapsack kwa kutumia programu inayobadilika. Mtumiaji anaombwa kuingiza idadi ya vitu, maadili na uzito wao, na kikomo cha uzito cha mkoba. Programu kisha huhesabu thamani ya juu ambayo inaweza kupatikana kwa kujumuisha au kutojumuisha kila kitu kwenye kifuko huku ikiweka uzito wa jumla chini ya kikomo kilichotolewa.Ili kuunda na kuendesha programu:1. Hifadhi msimbo katika faili iitwayo knapsack.cpp.2. Fungua kidokezo cha terminalamri na uende kwenye saraka iliyo na faili iliyohifadhiwa.3. Tunga msimbo ukitumia amri: g -o knapsack knapsack.cpp4. Endesha programu iliyokusanywa kwa kutumia amri: .knapsack kwenye LinuxMac au knapsack.exe kwenye Windows. 