Написать функцию, которая возвращает символ, наиболее часто встречающийся в строке, и количество его повторений(Pascal ABC)

15 Янв 2020 в 19:49
156 +1
0
Ответы
1
function MostFrequentSymbol(s: string): Char;
var
i, maxCount: Integer;
count: array[Char] of Integer;
ch: Char;
begin
for ch := Low(ch) to High(ch) do
count[ch] := 0;
for i := 1 to Length(s) do
Inc(count[s[i]]);
maxCount := 0;
for ch := Low(ch) to High(ch) do
if count[ch] > maxCount then
begin
maxCount := count[ch];
MostFrequentSymbol := ch;
end;
WriteLn('Most frequent symbol is ', MostFrequentSymbol, ', count: ', maxCount);
end;

Пример использования:

var
s: string;
begin
s := 'hello world';
MostFrequentSymbol(s);
end;

Результат выполнения:

Most frequent symbol is l, count: 3
18 Апр 2024 в 20:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир