Из n предметов обладающих каждый весом Vi и стоимостью Si, при i=1, 2, ... n, выбрать такие, что при суммарном весе не более Vs суммарная стоимость Ss максимальна

code: #pascal
program PascalGuru;
uses crt;
type predmet=record
                   v:real; {вес}
                   s:real; {стоимость}
             end;
 
var A:array[1..50] of predmet;
    n,i:integer;
    sv,ss:real;
    max:integer;
 
begin
write('Vsego predmetov[N]: '); readln(n);
 
for i:=1 to n do
              begin
              write('Ves ',i,' predmeta: ');       readln(A[i].v);
              write('Stoimosti ',i,' predmeta: '); readln(A[i].s);
              end;
clrscr;
writeln('Vse predmety:'); writeln('_____________');
for i:=1 to n do
              begin
              writeln;
              write('Ves ',i,' predmeta: ');       writeln(A[i].v:16:2);
              write('Stoimosti ',i,' predmeta: '); writeln(A[i].s:10:2);
              end;
 
sv:=0; ss:=0;
for i:=1 to n do
              begin
              sv:=sv+A[i].v;
              ss:=ss+A[i].s;
              end;
writeln;
writeln('______________');
writeln('Summarnyi ves:',sv:17:2);
writeln('Summarnaya stoimosti:',ss:10:2);
 
max:=1;
for i:=2 to n do
if A[i].s>A[max].s then max:=i;
 
writeln('MAX stoimosti y "',max,'" predmeta: ',A[max].s);
 
readln;
end.    
Поделиться:

Похожие статьи: