В каждой строке текстового файла 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;

Объяснение кода листинга программы

  1. Объявление константы NUMBERS со значениями от '0' до '9' в виде множества символов.
  2. Определение функции LongestNumber с аргументом s типа String, возвращающей значение типа Word.
  3. Объявление переменных i, Result, curr типа Word.
  4. Инициализация переменных Result и i значением 0, и переменной curr значением 0.
  5. Запуск цикла while до тех пор, пока переменная i не станет больше длины строки s.
  6. Проверка, если символ в позиции i строки s входит в множество NUMBERS, то увеличиваем переменную curr на 1.
  7. В противном случае, если текущее значение curr больше значения Result, то устанавливаем Result равным curr, а curr равным 0.
  8. Увеличиваем значение i.
  9. Возврат значения Result функцией LongestNumber.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы