begin
if m > e then
begin
if m < f then memo1.Lines.Add('Самый популярный ФИЛФАК ' + inttostr(f) + ' заявок') else
if m = f then memo1.Lines.Add('Самый популярные МИФИТ и ФИЛФАК ' + inttostr(f) + ' заявок') else
memo1.Lines.Add('Самый популярный МИФИТ ' + inttostr(m) + ' заявок')
end
else
if m < e then
begin
if e > f then memo1.Lines.Add('Самый популярный ЕНО ' + inttostr(e) + ' заявок') else
if e = f then memo1.Lines.Add('Самый популярные ЕНО и ФИЛФАК ' + inttostr(e) + ' заявок') else
memo1.Lines.Add('Самый популярный ФИЛФАК ' + inttostr(f) + ' заявок')
end
else
if m > f then memo1.Lines.Add('Самый популярные МИФИТ и ЕНО ' + inttostr(m) + ' заявок') else
begin
if f > m then memo1.Lines.Add('Самый популярный ФИЛФАК ' + inttostr(f) + ' заявок') else
memo1.Lines.Add('Все факультеты одиннаково популярны ' + inttostr(m) + ' заявок');
end;
end;
Суть в том, что если ввести 2 МИФИТА, 2 ЕНО и 1 ФИЛФАК он выводит (Самый популярный МИФИТ). Т.е даже при ложном условии M > E (это не так, они равны) - он приступает к выполнению этого условия. Т.к внутри всё ложно он использует
else
memo1.Lines.Add('Самый популярный МИФИТ ' + inttostr(m) + ' заявок')
Переменные m,e,f - первые буквы слов МИФИТ, ЕНО и ФИЛФАК. Если кто не поймёт