Задача 3 Урок 20

Задача 3 Урок 20

Имеется текстовый файл в котором содержится не более 30 строк, в каждой строке не более 30 символов (пробелы тоже считаются символами). Цифры и другие символы перемешаны в каждой строке.

Задание: найдите максимальное число, c учетом того, что числом считаются подряд идущие цифры не только по горизонтали, но и по вертикали.

type sarr=array [1..10] of string;
var f:text; name:string; i,j,q,k,t,l,h,n,max:integer;
  a:array [1..15] of integer; gor:array [1..15] of string; s:sarr;
begin
  name:='C:\Users\test\Desktop\TraliVali\file.txt';
  assign(f,name);
  reset(f);
  h:=0;
  while not eof(f) do
  begin
    h+=1;
    readln(f, s[h]);
  end;
  for i:=1 to h do
  begin
    for j:=1 to length(s[i]) do
    begin
      if (s[i][j]>='0') and (s[i][j]<='9') then
      begin
        k+=1;
        if (k=1) or (t>k) then
        begin
          t:=0;
          q+=1;
        end;
        gor[q]+=s[i][j];
      end;
      t+=1;
    end;
    k:=0;
  end;
  i:=1;
  for j:=1 to length(s[i]) do
  begin
    for i:=1 to h do
    begin
    if (s[i][j]>='0') and (s[i][j]<='9') then
      begin
        k+=1;
        if (k=1) or (t>k) then
        begin
          t:=0;
          q+=1;
        end;
        gor[q]+=s[i][j];
      end;
      t+=1;
    end;
    k:=0;
  end;

  for i:=1 to q do
    val(gor[i],a[i],l);
  a[1]:=max;
  for i:=2 to q do
    if a[i]>max then
      max:=a[i];
  writeln(max);
  readln();
end.