Pagini recente » Cod sursa (job #1073508) | Cod sursa (job #2534168) | Cod sursa (job #1838351) | Cod sursa (job #3230767) | Cod sursa (job #1877043)
program Rucsac;
uses crt;
const max=7;
var C,G,X: array [1..max] of Real;
n,i,j:Integer; GG,GGr,sum,aux:Real;
begin clrscr;
Write('Nr. obiecte = ');
ReadLn (n);
For i:=1 to n do
begin
Write ('C[',i,']=');
ReadLN (c[i]);
Write ('G[',i,']=');
ReadLn (G[i]);
end;
Write('Greut. max. = ');
ReadLn (GG);
for i:=1 to n-1 do
for j:=i+1 to n do
if C[j]/G[j]>C[i]/G[i] then
begin
aux:=C[j]; C[j]:=C[i];
C[i]:=aux; aux:=G[j];
G[j]:=G[i]; G[i]:=aux;
end;
WriteLN('Am ordonat . . .');
for i:=1 to n do
WriteLN('C[',i,']=',C[i] :5:2,
'G[',i,']=' ,G[i] :5:2,
C[i]/G[i] :5:2);
GGr:=0; i:=1;
While (i<=n) do
if GG > GGr+G[i] then
begin
X[i]:=c[i];
GGr:=GGr+G[i]; i:=i+1
end
else
begin
X[i]:=(GG-GGr)*(c[i]/g[i]);
For j:=i+1 to n do X[j]:=0;
I:=n+1
end;
for i:=1 to n do sum:=sum+x[i];
WriteLn ('profitul maxim = ',sum :5:2);
ReadLn
end.