Вопрос № 109606: Здравствуйте, Эксперты!!!:-) Покажите, ПОЖАЛУЙСТА, как можно ввести строку s, а затем вывести позицию самой длинной группы одинаковых подряд идущих символов. И если не трудно напишите, ПОЖАЛУЙСТА, комментарии:-) ...
Вопрос № 109.606
Здравствуйте, Эксперты!!!:-) Покажите, ПОЖАЛУЙСТА, как можно ввести строку s, а затем вывести позицию самой длинной группы одинаковых подряд идущих символов. И если не трудно напишите, ПОЖАЛУЙСТА, комментарии:-)
Отправлен: 15.11.2007, 20:41
Вопрос задала: Алена (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Sov
Здравствуйте, Алена!
В массив data2 заносится максимальная длина непрерывной последовательности одинаковах символов
Каждому элементу массива соответствует ascii символ.
Например для строки abbbbaaaaa
массив data2 будет выглядеть так
data2[97]=5
data2[98]=4, остальные элементы массива =0(97 и 98 ascii коды символов a и b соотвтственно)
В массив data3 заносится позиция конца мексимальной последовательности в строке
data3[97]=10
data3[98]=5
Далее среди всех элементов массива data2 ищется наибольший (в нашем случае это элемент с индексом 97). Это есть длина нашей последовательности. Позиция последовательности вычисляется как разность data3 и data2(10-5=5). В конце программы искомое число записано в регистре dl
Если есть вопросы, пишите в личку
Приложение:
Ответ отправил: Sov (статус: 8-ой класс)
Ответ отправлен: 16.11.2007, 11:26 Оценка за ответ: 5 Комментарий оценки: СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!