Обработка записей
У меня есть код. Мне нужно посчитать средний вес (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.