Обработка записей

У меня есть код. Мне нужно посчитать средний вес (weight) элементов (items) пассажира. Короче, средний вес багажа пассажира. Но у меня абсолютно ничего не получается. Как можно исправить эту проблему?

Предполагаю, что проблема живет где-то здесь:

for i:=1 to ps do
    with items[i] do
    begin
      for j:=1 to ammount do
        with items[i] do
          begin
            sum+=weight;
            avg:= sum/ammount;
          end;
    end;

Весь код:

type baggage = record
  pas:string[15];
  ammount:integer;
  weight,avg:real;
end;
var
items:array [1..30] of baggage;
i,j,ps:integer;
sum:real;
p:baggage;

begin
  sum:=0;
  write('Enter the number of passengers: ');
  readln(ps);
  for i:=1 to ps do
    with items[i] do
      begin
        writeln('Enter name of ',i,' passenger: ');
        readln(pas);
      end;
  for i:=1 to ps do
    with items[i] do
      begin
        writeln('Enter the number of items ',i,' passenger: ');
        readln(ammount);
        for j:=1 to ammount do
          with items[i] do
          begin
            writeln('Enter the weight of ',j,' item (in kilograms): ');
            readln(weight);
          end;
      end;
  for i:=1 to ps do
    with items[i] do
    begin
      for j:=1 to ammount do
        with items[i] do
          begin
            sum+=weight;
            avg:= sum/ammount;
          end;
    end;
  for i:=1 to ps do
    with items[i] do
      case ammount of
        1:writeln(pas,' have: ',ammount,' item');
          else
        writeln(pas,' have: ',ammount,' items');
      end;

  for i:=1 to ps do
    with items[i] do
      writeln('The average weight of ',i,' passenger is: ',avg)
end.

Ответы (0 шт):