Algofil
![](http://forum.ru-board.com/board/avatars/Alfred.gif)
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфа-витном порядке глухие согласные буквы (к, п, с, т, ф, х, ц, ч, ш, щ), которые вхо-дят в каждое нечетное слово и не входят хотя бы в одно четное слово. | 1. создаем тип "буквы" (сет оф чар) 2. создаем переменную "глухонемые_согласные" типа "буквы" 3. создаем константу "никуя" типа "буквы" ([]) 4. пишем функцию "многа_букоф": на входе слово (подстрока или строка, там неясно у выгляди чего "дана непустая последовательность") на выходе множество букв слова типа буквы 5. поднимаем флаг "фдисятке" (входят_в_каждое_нечетное) 6. опускаем флаг "низачот" (не_входят_хотя_бы_в_одно_четное) 7. инициализируем "глухонемые_согласные" 8. в цикле по К пропускаем всю последовательность через действия: а) если одд(К) энд "глухонемые_согласные"*"многа_букоф(слово(К))"="никуя" тада флаг "фдисятке" опустить (:=брехня) и сразу же брек иначе "глухонемые_согласные":="глухонемые_согласные"*"многа_букоф(слово(К))" б) если нот одд(К) энд "глухонемые_согласные"*"многа_букоф(слово(К))"<>"никуя" тада флаг "низачот" поднять (:=труЪ) 9. если "фдисятке" энд "низачот" тада "пешы"("глухонемые_согласные") иначе врительн(бананив_нэма) уф... думаешь легко без компилятора решать задачи с неопределенным входом? Добавлено: Цитата: Что-то не то, при вводе тех же самых 39 и 57 в окно программы она выдает почему-то 121 и 103 соответственно. В чем может быть загвоздка? | дык я вроде полный текст забросил, опции компилятора глянь на всякий (хотя че там компилировать? два вара в три ряда) Добавлено: Цитата: исходные данные - текстовый файл. Необходимо преобразовать текстовый файл. | переходи на перл уже чтоли... ну нету в паскале регулярных выражений, лепим идиотские ифы, машем флагами... по сабжу смари мои разборы задач с уродованием текста, в твоем примере надо идя по файлу делать следующее: 1. если символ - буква поднять флаг "ищу_скобку" а букву кинуть на выход 2. если символ скобка и флаг "ищу_скобку" поднят - опустить, потом поднять флаг "ищу_небукву" а на выход кинуть ":" 3. ну и если небуква и флаг "ищу_небукву" поднят - опустить, на выход #10#13 |