Текстовый файл состоит не более чем из 1200000 символов x y z определите
Тип 24 № 36037 
Текстовый файл состоит не более чем из 1 200 000 символов X, Y, и Z. Определите максимальное количество идущих подряд символов, среди которых нет подстроки XZZY. Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Будем последовательно считывать символы из файла, постоянно храня последние 4 введённых символа и проверяя, являются ли они строкой XZZY. Если подстрока XZZY не была встречена, прибавляем к счётчику k единицу, если искомая подстрока будет встречена — проверяем, является ли текущее значение счётчика k максимальным, обнуляем счётчик и прибавляем к нему значение 3, чтобы учитывать последние 3 символа подстроки XZZY. Т. е. в строке XZZYXX максимальное количество идущих подряд символов, не содержащих подстроку XZZY, равно 5: ZZYXX.
Текстовый файл состоит не более чем из 1200000 символов x y z определите

Alexander Lptdbpaf 


Данил Цветов 




> C/C++ — если тебе всё кажется лёгким и ты хочешь хоть немного интереса у себя вызвать к экзамену
C/C++ для души, а не для "усложнения"

Данил Цветов
ответил Романтику
полгода. После чего я наконец-то накопил на книгу по C++ и изучал его. Работать программистом я стал ещё до того, как поступил в универ.
Показать полностью.
Я конечно благодарен паскалю за то, что он помог мне в фундаментальных вещах разобраться (хотя в большинстве своём, я благодарен хорошо составленному учебнику по нему).
Из аргументов, не заходя во все подводные камни разработки на Паскале, мне достаточно того, что на ЕГЭ и олимпиадах нужно решать задачи, а Паскаль (как показывает опыт участия на моей первой олимпиаде используя именно Паскаль), заставляет тебя минимум половину времени решать, как обходить ограничения, которые тебе вставляет палками в колёса сам ЯП.
Да и извините, но разработка ПО на Паскале, это то ещё развлечение.
Ну, и насчёт такого поставления вопроса ко мне, дам совет, о котором не просят: лучшее работайте электриком, дешево и качественно, как заявляете на своей странице вк, не лезьте в IT. Ваш ZenGL никому не нужен, вместе с вашим паскалём.
И это не слова какого-то зумера, который не уважает старое (тем более, веду блокчейн проект на C/C++); это слова человека, который видит, как кто-то разрабатывает на МЁРТВОМ языке, тратит на это время и считает, что это не так.

Данил Цветов
ответил Данилу

Данил, очень "не дельный" совет, от человека изучавшего паскаль "только где-то там" и поверхностно.
Заявляя что паскаль "мёртвый язык" — вы так же можете заявлять что "С/С++" — "мёртвый язык".
Когда человек ни чего не знает о паскале, а вспоминает как городил "огороды" для того чтоб что-то обойти, а не разобраться как работает — автоматически напрашивается вывод, что паскаль изучался только поверхностно и "убежал за технологиями".
Мой совет вам: не надо ни кому советовать, что делать, а что нет. Человек сам выберет то, что нужно ему. Не надо пред ним стелить "свою дорожку", идите по ней сами! Каждый человек выбирает тот ЯП, который подходит ему! )))

Данил Цветов
ответил Романтику

Данил, паскаль развивается. Поддерживает различные ОС, в том числе и возможность нативной разработки под микроконтроллеры.
Паскаль может абсолютно всё то же самое что и Си/Си++. По скорости разработки (при должных навыках и/или используя библиотеки или пользуясь компонентами) где-то быстрее чем на C/C++, по скорости работы (при должном умении, что так же относится и к C/C++) не уступает скорости работы конечного приложения.

Данил Цветов
ответил Романтику
Romantik,
Для технологий важен порог вхождения. Сколько обучающего материала для разработки под микроконтроллеры с использованием Pascal? Как много библиотек есть под Pascal? Есть ли хоть что-то похожее на Boost? Я могу на нём за тот же срок реализовать какое-нибудь небольшое приложение, которое требует ещё и трёхмерную визуализацию? Ладно, чёрт с ней, трёхмерной графикой, я вообще могу написать приложение, без издевательств над собой, которое требует отличное распределение памяти?
Показать полностью.
Я не хочу даже говорить про то, как отвратительно везде выглядят спагетти из begin/end. Объявление переменных со своей строгой типизацией в отдельной секции var тоже не особо удобная, особенно для читаемости кода, фича (хотя может это субъективно). Из того, что я помню, мне не нравилась в паскаль коде перенасыщенность разными словами, вместо символов, опять же, как в случае с теми же begin/end, repeat. while, todo . then и прочее. Когда я ещё работал с паскалём, на нём не было нормальной работы с памятью и динамических массивов, сейчас, я полагаю, они есть.
Кстати. Сам создатель заявляет, что язык был в основном был разработан для изучения программирования, а не для разработки на нём ПО. Не совсем понимаю, зачем отвёрткой забивать гвозди.
Если не секрет, почему коммерческих разработок на паскале, фактически нет? Заговор или "гонятся за технологиями"?
Не скажу, что мне приносит удовольствие вас печалить, но тот факт, что человек обходит более современные и качественные технологии стороной, говорит о его ну уж очень сильной консервативности и неспособности быть конкурентным на рынке труда или даже в разработке собственного ПО [Обязательно послежу за вашей разработкой опенгл аля де паскаль на гитхабе].
На последок, не подскажете, кем работаете? Работаете ли программистом и сколько нынче паскаль/делфи разработчики получают?
В чем ошибка моего решения?
Нужно решить задачу: Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цепочки вида XYZXYZXYZ. (составленной из фрагментов XYZ, последний фрагмент может быть неполным). Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма. Ссылка на файл:https://inf-ege.sdamgia.ru/doc/inf/zadanie24/24_de.
Почему-то мое решение выдает неправильный ответ
правильный ответ 13
- Вопрос задан более года назад
- 2055 просмотров
- Вконтакте

т.е. я понял он может быть просто как ‘XY, ‘X’. По итогу вышло, что максимальная длина цепочки 13. Значит она будет иметь примерный вид как «XYZXYZXYZXYZX».
Только мне чуть кажется, что я точно что-то не правильно задал в условии для поиска, ну.. если что призову всезнающего.
Update: Хах, я ток ща перечитывая условие, заметил заметку «правильный ответ 13»
- Вконтакте


Алан Гибизов, выглядит загадочно (т.к. много переменных)
Вроде нигде не уточнялось про время затребуемое для задачи.
А вообще, просто когда сел за неё, глянул, и решил, что здесь нужно использовать import re, по привычке.
P.s. поздравляю с получением «Куратор раздела»





longclaps, А погодите-ка.. Это же вроде выгодит совсем не то. К примеру расскладываем поэтапно.
f.read() ==
XXXYYXXYZXXYXZYXXXYYXXXXXXXXYZ
f.read().replace(‘Y’, ‘Z’) ==
XXXZZXXZZXXZXZZXXXZZXXXXXXXXZZ
f.read.replace(‘Y’, ‘Z’).split(‘Z’)
Итог: По итогу мы получаем лишь самую длинную цепочку повторений «X». Что не соотвествует задачи —