Найти наиболее часто повторяющиеся буквы - Free Pascal
Формулировка задачи:
Суть задачи состоит в том,что нужно найти наиболее повторяющие буквы,и вывести сколько они повторяются!И какой символ повторяется!
Решение задачи: «Найти наиболее часто повторяющиеся буквы»
textual
Листинг программы
var
s : string;
t : string = '';
l : integer = 0;
c : array[char] of integer;
ch : char;
begin
write('Enter string:'); readln(s);
for ch in s do if ch in ['a'..'z','A'..'Z','А'..'Я','а'..'п','р'..'я','ё','Ё'] then
begin
inc(c[ch]);
if c[ch] = l then
begin
if pos(ch, t) = 0 then t := t + ch
end
else if c[ch] > l then
begin
l := c[ch]; t := ch;
end;
end;
if l = 1 then writeln('no repeating')
else writeln('max repeating letter(s) : "', t, '", count = ', l);
end.
Объяснение кода листинга программы
В этом коде происходит поиск наиболее часто повторяющихся букв в строке, введенной пользователем. Код использует ассоциативный массив (в данном случае, массив c), чтобы подсчитать количество каждого символа в строке. Затем код проверяет, является ли текущий символ наиболее часто повторяющимся символом. Если это так, он добавляет символ в строку t и обновляет счетчик l. Если символ не является наиболее часто повторяющимся, но его счетчик больше, чем у текущего наиболее часто повторяющегося символа, код обновляет значение t и сбрасывает счетчик l. В конце кода выводится сообщение, указывающее наиболее часто повторяющуюся букву (или сообщение о том, что такая буква отсутствует).