Предмет: Информатика, автор: IceNezox

Текстовый файл состоит не более чем из 10^6 символов X, Y и Z. Определите максимальное количество подряд идущих одинаковых символов. Для выполнения этого задания следует написать программу.

Программу я написал неправильно(вложение), после else присвоил k:=0 (промежуточному количеству одинаковых символов). Почему k:=1?

Приложения:

Ответы

Автор ответа: pinguinbird
1

Ответ:

k:=1 потому что длина строки, когда у вас появляется новый символ, равна будет 1. То есть например у вас идёт xxxyxx:

x -> k:=1

xx -> k:=2

xxx -> k:=3

xxxy -> k:=1

xxxyx -> k:=1

xxxyxx -> k:=2

Надеюсь, понятно объяснил... Кстати, после readln(F,S) вы также неверно инициализируете k. Там тоже надо k:=1;


pinguinbird: и maxk нужно инициализировать до while
pinguinbird: иначе на каждой строке он у вас будет в ноль сбразываться
pinguinbird: и инициализацию k:=1; также перед while надо сделать
IceNezox: Все понятно, спасибо!) У меня еще там всякой ерунды написано типа while not eof, оно тут не нужно даже.
IceNezox: Еще раз спасибо
Похожие вопросы
Предмет: Английский язык, автор: риск20