В каждом рядке текстового файла найти наибольшую последовательность цифр. Значение её длины преобразовать в рядок который записать в начало рядка исходного файла — Pascal(Паскаль)

program Project1;
 
const
  //Множество цифр.
  D = ['0'..'9'];
  Fn1 = 'file1.txt';
  Fn2 = 'file2.txt';
var
  F1, F2 : Text;
  S, S1  : String;
  i, Len, Cnt, CntMax : Integer;
begin
  Assign(F1, Fn1);
  Reset(F1);
  Assign(F2, Fn2);
  Rewrite(F2);
 
  Cnt := 0;
  CntMax := 0;
  while not Eof(F1) do begin
    Readln(F1, S);
    Len := Length(S);
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if not (S[i] in D) then Continue;
      //Подсчёт цифр в числе.
      Inc(Cnt);
      //Отслеживаем конец числа.
      if (i = Len) or (not (S[i + 1] in D)) then begin
        if Cnt > CntMax then CntMax := Cnt;
        Cnt := 0;
      end;
    end;
    Str(CntMax, S1);
    S := S1 + ': ' + S;
    Writeln(F2, S);
    CntMax := 0;
  end;
 
  Close(F1);
  Close(F2);
 
  Writeln('Расчёт выполнен. Результат в файле: ' + Fn2);
  Readln;
end.

Leave a Comment

85 − = 84