Найти команду, которая выиграла, но при этом в какой-то промежуток времени игры проигрывала - Free Pascal
Формулировка задачи:
Добрый вечер.
Задание: Найти команду, которая выиграла, но при этом в какой-то промежуток времени игры проигрывала.(Т.е. находим выигравшую команду, и проверяем, если хоть раз она проигрывала на протяжении игры). Вопрос: Ведь мы не знаем к какой команде принадлежит игрок забивший гол на такой-то минуте, чего-то я не понимаю, как это сделать.
Будьте добры, помогите. Спасибо.
Пользовательский модуль:
Часть программы:
Unit Types_;
Interface
Type
TTeamTitle = String[30];
TMatch = Record
team1: TTeamTitle;
goals1: Byte;
team2: TTeamTitle;
goals2: Byte;
End;
TName = String[20];
TGoal = Record
name: TName;
minute: Byte;
End;
Const
DataFile = 'football.dat';
Implementation
Begin
End.Program WorkWithBlockF;
Uses
Crt,Types_;
Var
CountM,I,Res,SumG1,SumG2,AllSum,CountDif,Max:LongInt;// эти переменные нужны для других задач, не обращайте на них внимания
F:File;//blo4nij vajl
BuffM:TMatch;
BuffG:TGoal;
Begin
ClrScr;
Assign(F,DataFile);
Reset(F,1);
While Not EoF(F) do
begin
BlockRead(F,BuffM,SizeOf(TMatch),Res);//считываем блок TMatch
With BuffM do
begin
AllSum:=Goals1+Goals2;
end;
For I:=1 to AllSum do
begin
BlockRead(F,BuffG,SizeOf(TGoal),Res);//считываем блок TGoal(информация о голах)
end;
end;
Close(F);
End.
Забыл сказать, Если Team1 забила 3 гола и Team2 забила 2 гола, то после этого блока(TMatch), будет 5 блоков TGoal и в первых трех блоках(TGoal) будут голы Team1,(в независимости от того, когда был забит гол), а в 4 и 5 блоках TGoal будут голы Team2. И вот здесь то и надо разработать алгоритм того, как узнать, что, к примеру, team1 забила два гола на 23и 56 мин., а Team1 забила на 59, 67, 86 минутах, значит, команда, которая выиграла с начало проигрывала, следовательно эта нужная нам команда. В голову не приходит, как построить данный алгоритм.
Решение задачи: «Найти команду, которая выиграла, но при этом в какой-то промежуток времени игры проигрывала»
textual
Листинг программы
For I:=1 to GTeam1+GTeam2-1 do begin For J:=1 to GTeam1+GTeam2-I do