Вопрос задан 05.10.2023 в 15:20. Предмет Информатика. Спрашивает Ворона Ксюша.

Если несколько команд набрали одинаковое количество очков, то места между ними распределяются по

разнице забитых и пропущенных мячей: чем разница больше, тем место выше. Попробуйте усовершенствовать программу, учитывая это правило. Для этого в программу надо добавить массив с разницами мячей ---- Условие то же что и в предыдущем задании но в качестве исходных данных вводится еще два массива: с числом забитых и пропущенных мячей каждой командой. --- Нужно добавить два массива из 2 задания. (1 это предисловие так сказать) Program Premier_liga_2; var B, Diff: 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(Z); write('Пропущенные мячи: '); readln(P); Diff[I]:= Z-P; 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 (Diff[i] < Diff[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; 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) end; end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кузнецов Алексей.

1. если несколько команд...


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ваша программа уже содержит массив "Diff", который хранит разницу забитых и пропущенных мячей для каждой команды. Однако, вам нужно внести некоторые изменения в вашу программу, чтобы учесть это правило при определении мест команд.

Для этого вы можете внести следующие изменения в вашу программу:

  1. Добавьте в цикл сортировки проверку разницы мячей (переменная Diff) при равных очках (переменная B). Если очки одинаковы, вы должны сравнивать разницу мячей и менять местами команды на основе этого.

  2. Измените условие сортировки так, чтобы оно учитывало как разницу мячей, так и очки:

pascal
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 (Diff[I] < Diff[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 := Diff[I]; Diff[I] := Diff[I + 1]; Diff[I + 1] := X; end;

Теперь ваша программа учитывает разницу забитых и пропущенных мячей при равных очках и правильно распределяет места между командами.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос