Текстовый файл состоит не более чем из 10^6 символов X, Y и Z. Определите максимальное количество подряд идущих одинаковых символов. Для выполнения этого задания следует написать программу.
Программу я написал неправильно(вложение), после else присвоил k:=0 (промежуточному количеству одинаковых символов). Почему k:=1?
Приложения:
Ответы
Ответ дал:
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
иначе на каждой строке он у вас будет в ноль сбразываться
и инициализацию k:=1; также перед while надо сделать
Все понятно, спасибо!) У меня еще там всякой ерунды написано типа while not eof, оно тут не нужно даже.
Еще раз спасибо
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад
9 лет назад