Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и...

0 голосов

Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. Пример - 00101110000110 - 4. Прошу сделать без использования массивов и на языке паскаль абс.


спросил от (15 баллов) в категории Информатика
оставил комментарий от Одаренный (3.7k баллов)

Строки тоже нельзя использовать?

оставил комментарий от (15 баллов)

Можно, если вы про string и char

1 Ответ
0 голосов
ответил от Одаренный (3.7k баллов)
 
Лучший ответ

Var
  i, n, max: integer;
  s: string;

 begin
  n := 0;
  max := 0;
  readln(s);
  for i := 1 to length(s) do
  begin
    if(s[i] = '0') then n := n + 1
    else begin if(n > max) then max := n; n := 0; end;
  end;
  write(max);
end.

оставил комментарий от (15 баллов)

Спасибо большое

оставил комментарий от (15 баллов)

Но там есть недочет, если например ввести 100010000, то программа выдаст результат 3, не беря во внимание последнюю цепочку. Или, например, взяв число 1000, то программа выдаст результат 0.

оставил комментарий от Одаренный (3.7k баллов)

var
i, n, max: integer;
s: string;

begin
n := 0;
max := 0;
readln(s);
for i := 1 to length(s) do
begin
if(s[i] = '0') then n := n + 1;
if(n>max)then max:=n;
if(s[i]='1')then n:=0;
end;
write(max);
end.

оставил комментарий от (15 баллов)

спасибо

...