Вывести наибольшее количество следующих друг за другом символов k - Free Pascal
Формулировка задачи:
В одной строке содержится последовательность букв k и p, длина которой от 1 до 1000 символов. Требуется вывести одно число - наибольшее количество следующих друг за другом символов k. Заранее благодарен)
Решение задачи: «Вывести наибольшее количество следующих друг за другом символов k»
textual
Листинг программы
var s: string; i,n: integer; curr_n, max_n: integer; begin Write('Введите строку: '); readln(s); i:= 1; max_n:= 0; while i <= Length(s) do begin if s[i] = 'k' then begin curr_n:= 0; repeat Inc(i); Inc(curr_n); until (i > Length(s)) or (s[i] <> 'k'); if curr_n > max_n then max_n:= curr_n; end else Inc(i); end; WriteLn(max_n); ReadLn; end.
Объяснение кода листинга программы
В данном коде задача заключается в поиске наибольшего количества следующих друг за другом символов 'k' в строке, введенной пользователем.
- Переменная
s
типа string используется для хранения строки, введенной пользователем. - Переменные
i
иn
типа integer используются для итерации по символам строки. - Переменные
curr_n
иmax_n
типа integer используются для хранения текущего и максимального количества символов 'k', следующих друг за другом. - В начале программы пользователю предлагается ввести строку.
- Затем происходит итерация по символам строки, начиная с первого, до тех пор, пока не будет достигнум конец строки или не будет найден символ 'k'.
- Если найден символ 'k', то увеличивается значение переменной
curr_n
и начинается поиск следующего символа 'k'. При этом, если найденный символ 'k' не является началом подстрокиkk
, то значение переменнойcurr_n
сбрасывается до 0. - Если значение переменной
curr_n
больше максимального значения переменнойmax_n
, то значение переменнойmax_n
обновляется. - После завершения цикла выводится значение переменной
max_n
. - Программа завершается после чтения еще одного символа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д