Урок 19 Задача 4

Урок 19 Задача 4:

Дан текстовый файл, в котором с в ASCII-стиле нарисованы цепочки из цифр, которые связаны по горизонтали и вертикали.
Все цепочки составляют одно дерево, которое устроено так:

всегда есть общий корень и это цифра
по горизонтали цепочка не разрывается пробелами, соединяется же с помощью последовательностей знака - (тире).
по вертикали цепочка не разрывается переносом строк, соединяется же с помощью вертикальных последовательностей символа | (вертикального разделителя).

Размер схемы не более чем 100 на 100 символов.

var
  f1:text;
  filename, s, s1: string;
  a: integer;
  q: boolean;

function prov (s1, s: string; a: integer): integer;
var
  i, b: integer;
  f: boolean;
begin
  b:=0;
  f:= false;
  for i:=1 to length(s) do
  begin
    if (s1[i]>='0')and(s1[i]<='9') and (not f)
    or (s[i]>='0')and(s[i]<='9') and f then
      b:= b+1;
    if (s[i]='|') and (s[i+1]='-') then // если встречается "|-"
      f:= true;
  end;
  if b > a then
    a:= b;
  result:= a;
end;

begin
  filename := 'C:\Users\user\AppData\Local\Temp\input.txt'; // путь к файлу
  assign(f1, filename);
  reset(f1);
  q:= true;
  a:= 0;
  while not eof(f1) do
  begin
    readln(f1, s);
    if q then
    begin
      s1:= s;
      q:= false;
    end;
    writeln(s);
    a:= prov (s1, s, a);
  end;
  writeln;
  writeln('Ответ: ', a);
  readln();
end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)