В каждой строке текстового файла f найти самую длинную последовательность цифр - Pascal

Узнай цену своей работы

Формулировка задачи:

В каждом рядке текстового файла f найти самую длинную последовательность цифр. Создать новый текстовый файл , каждый рядок которого будет состоять с длины самой длинной последовательности цифр та текста соответствующего рядка файла f Derzky на форуме Сообщить модератору о нарушении

Решение задачи: «В каждой строке текстового файла f найти самую длинную последовательность цифр»

textual
Листинг программы
  1. const
  2.     NUMBERS: Set Of Char = ['0'..'9'];
  3. function LongestNumber(const s: String): Word;
  4. var
  5.     i, Result, curr: Word;
  6. begin
  7.     Result := 0; i := 1; curr := 0;
  8.     while (i <= Length(s)) do
  9.     begin
  10.         if (s[i] in NUMBERS)
  11.         then
  12.             Inc(curr)
  13.         else
  14.         begin
  15.             if (Result < curr)
  16.             then
  17.                 Result := curr;
  18.             curr := 0;
  19.         end;
  20.         Inc(i);
  21.     end;
  22.     LongestNumber := Result;
  23. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы