В каждой строке текстового файла f найти самую длинную последовательность цифр - Pascal
Формулировка задачи:
В каждом рядке текстового файла f найти самую длинную последовательность цифр. Создать новый текстовый файл , каждый рядок которого будет состоять с длины самой длинной последовательности цифр та текста соответствующего рядка файла f
Derzky на форуме Сообщить модератору о нарушении
Решение задачи: «В каждой строке текстового файла f найти самую длинную последовательность цифр»
textual
Листинг программы
const NUMBERS: Set Of Char = ['0'..'9']; function LongestNumber(const s: String): Word; var i, Result, curr: Word; begin Result := 0; i := 1; curr := 0; while (i <= Length(s)) do begin if (s[i] in NUMBERS) then Inc(curr) else begin if (Result < curr) then Result := curr; curr := 0; end; Inc(i); end; LongestNumber := Result; end;
Объяснение кода листинга программы
- Объявление константы
NUMBERS
со значениями от '0' до '9' в виде множества символов. - Определение функции
LongestNumber
с аргументомs
типа String, возвращающей значение типа Word. - Объявление переменных
i
,Result
,curr
типа Word. - Инициализация переменных
Result
иi
значением 0, и переменнойcurr
значением 0. - Запуск цикла
while
до тех пор, пока переменнаяi
не станет больше длины строкиs
. - Проверка, если символ в позиции
i
строкиs
входит в множествоNUMBERS
, то увеличиваем переменнуюcurr
на 1. - В противном случае, если текущее значение
curr
больше значенияResult
, то устанавливаемResult
равнымcurr
, аcurr
равным 0. - Увеличиваем значение
i
. - Возврат значения
Result
функциейLongestNumber
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д