program souvisly_usek_stejnych_cisel;

uses crt;

const maximum = 100;

var cislo : array[1..maximum]of integer;
    pocet, i, hodnota, delka : integer;
    pomcislo : char;

procedure Vstup;
begin
  writeln('Program pro urceni nejdelsiho useku stejnych cilsic ve vlozenem cisle.');
  writeln;
  write('Vloz cislo: ');
  for i := 1 to 100 do
  begin
    pomcislo := readkey;
    if((ord(pomcislo)-48) in [0..9]) then cislo[i] := (ord(pomcislo)-48);
    write(cislo[i]);
    pocet := i;
    if (cislo[i] = 0) then i := 100;
  end;
  writeln;
  writeln;
  writeln('Bylo vlozeno toto cislo : ');
  writeln;
  for i := 1 to pocet do
    write(cislo[i]);
  writeln;
end;

procedure Usek;
var pomhodnota, pomdelka : integer;
begin
  hodnota :=cislo[1];
  pomhodnota :=cislo[1];
  delka := 1;
  pomdelka := 1;
  i := 1;
  while (cislo[i] <> 0) do
  begin
    if cislo[i] = cislo[i+1] then
    begin
      Inc(pomdelka);
      pomhodnota := cislo[i];
    end;
    if ((cislo[i] <> cislo[i+1]) and (pomdelka > delka)) then
    begin
      delka := pomdelka;
      hodnota := pomhodnota;
      pomdelka := 1;
      pomhodnota := cislo[i+1];
    end;
    Inc(i);
  end;
end;

procedure Vystup;
begin
  writeln('Nejdelsi usek mela cislice ',hodnota,'.');
  writeln('Delka nejdelsiho useku je ',delka,'.');
end;


BEGIN
  clrscr;
  Vstup;
  writeln;
  Usek;
  writeln;
  Vystup;
  repeat until keypressed;
END.