Лазарус: 1. Даны символы S1, S2, ..., Sn (вводятся одной строкой). а) подсчитать...

0 голосов
77 просмотров
Лазарус:
1.
Даны символы S1, S2, ..., Sn
(вводятся одной строкой).


а) подсчитать наибольшее
количество идущих подряд введенных символов;


б) выяснить, верно ли, что в
последовательности S1, S2,
..., Sn имеются пять идущих подряд введенного символа.

Информатика (62 баллов) | 77 просмотров
Дан 1 ответ
0 голосов
uses crt;
var a, b, c, i, j, n:integer;   
s, k :array [1..10000] of integer;
begin
     clrscr;
     writeln ('Введите размер массива > 4.');
     read (n);
     for i:=1 to n do 
     begin 
          writeln ('Введите ', i, ' элемент.'); 
          read (s[i]); 
     end;
     for i:=1 to n do 
          for j:=1 to n-1 do 
               while s[i]=s[j] do   
               begin   
                    j:=j+1;   
                    inc (k[i]);   
               end;
     a:=k[1];
     for i:=1 to n do 
          if a
               a:=k[i];
     if k[i]=0 then k[i]:=1;
     writeln ('Наибольшая длина равных элементов идущих последовательно равна ', k[i], '.');
     for i:=1 to n-5 do 
          if (s[i+4]-s[i+3]=1) and (s[i+3]-s[i+2]=1) and (s[i+2]-s[i+1]=1) and (s[i+1]-s[i]=1) then  inc (b);
     if b=0 then writeln ('Нет 5 последовательны чисел.') else writeln ('Есть 5 последовательных чисел и это количество равно ', b);
end.

P.S. Надеюсь на благодарность и лучший ответ.
(1.9k баллов)