Из n предметов обладающих каждый весом Vi и стоимостью Si, при i=1, 2, … n, выбрать такие, что при суммарном весе не более Vs суммарная стоимость Ss максимальна — 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.

Leave a Comment

2 + 1 =