Лазарус: 1. даны символы s1, s2, sn (вводятся одной строкой). а) подсчитать наибольшее количество идущих подряд введенных символов; б) выяснить, верно ли, что в последовательности s1, s2, sn имеются пять идущих подряд введенного символа.
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<k[i] then 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.
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<k[i] then
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. Надеюсь на благодарность и лучший ответ.