uses Crt;
type
bagaz = record // тип запись багаж
kol: byte; // кол-во
ves: real; // вес
end;
var
bg: array [1 .. 100] of bagaz;
/ массив записей n, i, k, k2, ks, p: integer;
srv, srk: real;
begin
clrscr;
writeln('Введите количество пассажиров n=');
readln(n);
writeln('Введите данные о багаже');
srv := 0;
srk := 0;
k := 0;
for i := 1 to n do
begin
writeln('Багаж ', i);
write(' Количество мест: ');
readln(bg[i].kol);
k := k + bg[i].kol; // считаем сколько всего вещей
write(' Вес: ');
readln(bg[i].ves);
srk := srk + bg[i].kol; // считаем количество для среднего
srv := srv + bg[i].ves; // общий вес для среднего
end;
srk := srk / n; // среднее кол-во
srv := srv / k; // средний вес
writeln('Средний вес 1 вещи=', srv:0:2);
p := 0;
writeln('Багаж, где средний вес одной вещи отличается не более 0.3 от среднего веса');
k2 := 0;
ks := 0;
for i := 1 to n do
begin
if abs(bg[i].ves / bg[i].kol - srv) <= 0.3 then
// если разница по модулю не больше 0,3
begin
p := 1; // есть
writeln(bg[i].kol, ' ', bg[i].ves:0:2); // выводим
end;
if bg[i].kol > 2 then
k2 := k2 + 1; // кол-во вещей болше 2
if bg[i].kol > srk then
ks := ks + 1; // кол-во больше среднего
end;
if p = 0 then
writeln('Такого багажа нет!');
writeln;
writeln('Число пассажиров, имеющих более 2х вещей=', k2);
writeln('Среднее число вещей=', srk:0:0);
writeln('Число пассажиров, имеющих вещей больше среднего=', ks);
readln
end.