Условие то же, что и в предыдущем задании. Но в качестве исходных данных вводится еще два массива



Условие то же, что и в предыдущем задании. Но в качестве исходных данных вводится еще два массива: с числом забитых и пропущенных мячей каждой командой.    
Program Premier_liga_2;
Var B: array [1..16] of integer;
   BallDiff: array [1..16] of integer;
   Zab: array [1..16] of integer;
   Prop: array [1..16] of integer;
   Team: array [1..16] of string;
   I, K, X, Z, P: integer;
   St: string;
BEGIN
writeln ('Введите названия команд и полученные ими очки');
for I:=1 to 16 do begin
   write (I, ' - Название: '); Readln(Team[I]);
   write ('Очки: '); Readln(B[I]);
   write ('Забитые мячи: '); Readln(Zab[I]);
   write ('Пропущенные мячи: '); Readln(Prop[I]);
   BallDiff[I]:=Zab[I] - Prop[I];
   writeln('----------')
end;
for K:=1 to 15 do
   for I:=1 to 16-K do
   if (B[I] < B[I+1]) or ((B[I] = B[I+1]) and (BallDiff[I] < BallDiff[I+1])) then
   begin
      X:=B[I]; B[I]:=B[I+1]; B[I+1]:=X;
   St:=Team[I]; Team[I]:=Team[I+1];
      Team[I+1]:=St;
      X:=BallDiff[I]; BallDiff[I]:=BallDiff[I+1]; BallDiff[I+1]:=X;
      X:=Zab[I]; Zab[I]:=Zab[I+1]; Zab[I+1]:=X;
      X:=Prop[I]; Prop[I]:=Prop[I+1]; Prop[I+1]:=X;
end;
for I:=1 to 16 do
begin
   for K:=1 to 18-length(Team[I]) do
      Team[I]:=Team[I]+' ';
      writeln(I:2, ' ', Team[I]:18, B[I]:2, ' Забито: ', Zab[I]:2, ' Пропущено: ', Prop[I]:2, ' Разница мячей: ', BallDiff[I]:2)
end;
END.
Нашли ошибку?

Войдите: