Помогите, пожалуйста, с написанием программы на Паскале
нужно написать программу, которая посчитает количество смайликов в заданном тексте.
Смайликом будем считать последовательность символов, удовлетворяющую условиям: первым символом является либо ; (точка с запятой) либо : (двоеточие) ровно один раз далее может идти символ – (минус) сколько угодно раз (в том числе символ минус может идти ноль раз) в конце обязательно идет некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ]. внутри смайлика не может встречаться никаких других символов. Например, нижеприведенные последовательности являются смайликами: ;---------[[[[[[[[ в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики): :-)] ;-- -) ::-( :-() В этой задаче надо будет посчитать количество смайликов, содержащихся в данном тексте. Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов. заранее спасибо |
Цитата:
Ну хорошо, будем считать, что это длина не строки, а текста в целом. Тогда решение сводится к последовательному считыванию строк с последующим перебором комбинаций символов между пробелами с отсевом "неправильных". Нудная, рутинная программа. Может быть, Вы всё-таки сами? А? |
сам-то постараюсь, ну просто строка берется из текста...
а можно пожалуйста сам цикл только, а остальное уже навешу...просто не совсем понимаю что там должно быть |
Ладно, держите вариант решения. Здесь применен следующий метод: исходный текст располагается в файле D:\x . В ходе выполнения программы создаются вспомогательные файлы D:\x1, D:\x2 и D:\x3, которые после использования уничтожаются. Алгоритм:
1. Все "слова" (последовательности символов между пробелами) располагаются в файле х1 каждое в своей строке. 2. Отбираются и переписываются в файл х2 (тоже построчно) те, которые первым символом имеют ":" или ";", а вторым "-", "(", ")", "[" или "]". 3. В файле х3 осуществляется окончательный отбор по указанным в задаче признакам. 4. Подсчитывается количество строк в файле х3 - это и есть искомое число. Естественно, пути и имена файлов Вы можете подставить свои. Код:
VAR |
Часовой пояс GMT +4, время: 03:27. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.