Ольга Ковалева
Ольга Ковалева

ЗАДАЧА О РАНЦЕ (нужно дополнить код)

У меня не выходит дополнить код. Код выполняет функцию:
Задаешь грузоподъемность рюкзака, загружаешь предметы (n-ое количество) определенного веса, и программа рассчитывает, какими предметами нужно укомплектовать рюкзак так, чтобы как можно больше и как можно укомплектованнее поместить предметы. Например: Рюкзак-Вес= 20, загружаем: _____1й предмет=5,__2й предмет= 7,__3й предмет= 3,__4й= 4,__5й=10,__6й=1. Вывод, в рюкзак нужно положить предметы весом: 5, 7, 3, 4, 1
МНЕ НУЖНО, чтобы в программе еще учитывалась стоимость каждого предмета, чтобы как можно максимальнее была общая стоимость предметов.
Вот код. :
uses crt;
var
a,b:array[1..100] of integer;
n:byte;
sum:integer;
f:boolean;
i,j,k,h,s,m,z:integer;
begin
{Vvodim vse podryat}
clrscr;
Writeln('Vvedite kolichestvo Predmetov <=100');
Readln(n);
for i:=1 to n do
begin
writeln(i,' :Predmet');
readln(a);
end;
writeln('Vvedite Ves');
readln(sum);
For I := N Downto 1 Do
Begin
B[1] := I;
H := 1;
K := Sum - A;
F := False;
Repeat
For J := B[H]-1 Downto 1 Do
Begin
If A[J] <= K Then
Begin
Inc(H);
B[H] := J;
Dec(K, A[J]);
End; { If A[J] <= K }
If K = 0 Then
Begin
For M := 1 to H Do Write(A[B[M]], ' ');
Inc(K, A[B[H]]);
Dec(H);
WriteLn;
End;
End;
F := True;
For M := H Downto 2 Do
Begin
If B[M] <> H-M+1 Then
Begin
F := False;
Dec(B[M]);
H := M;
K := Sum;
For Z := 1 to H Do
Dec(K, A[B[Z]]);
Break;
End;
End;
Until F;
End;
repeat until keypressed;
end.

Конечно код нужно написать в PASCAL))

http://pastebin.com/wpRA8Ywm

Вася
Вася

Конечно код нужно вставлять через pastebin.com сюда.

Похожие вопросы
с++ помогите пожалуйста дополнить
Помогите с задачей нужно написать код!
Нужно дополнить фразеологизмы
Какой код программы будет в следующей задаче?
напишите код этой задачи на С++
Не могу дописать код задачи pascal. условие и код внутри вопроса
решите пожалуйста задачу на Паскале, если можно код
Код решения транспортной задачи
подскажите пожалуйста код программы к задаче
Нужно закончить код.