Условие то же, что и в предыдущем задании. Но в качестве исходных данных вводится еще два массива
Условие то же, что и в предыдущем задании. Но в качестве исходных данных вводится еще два массива: с числом забитых и пропущенных мячей каждой командой.
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.
Нашли ошибку?