![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
MapЫшKa |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Женский Репутация: ![]() ![]() ![]() |
И снова я, о, боги Паскаля. :molitva:
Сиду я тут и со своей женской логикой не могу врубиться в мужскую, а точнее в программистическую. Дано: произвольная строка Требуется: 1) проверить строку на наличие "{" и "}" символы заключенные между { и } удалить вместе со скобками 2) определить сколько различных русских букв содержит строка ( я ваще тут пас, говорят функция какая то есть специальная) 3) найти самое длинное слово в строке. вот такая беда. Все бы было просто, вот тока вариантов строки моря, например: vo sudu li v ogorode {v doline{na polane{v sadu?} ili za zana}ves}koj} hodat nes4astnie programmisti сама придумала сама ее разобрать не могу, то ли надо удалять {v doline{na polane{v sadu?} ili za zana}ves}koj} или {v doline{na polane{v sadu?} ili za zana}ves} или {v doline{na polane{v sadu?} эх ну и назадают задачек.... |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
MapЫшKa
А можно я вместо Oleg_Z ? :D Смотри, что делается... Здесь: s[i] in zRus - в программе zRus описано как множество символов, т.е. тип переменной, который может хранить только символы (причем только по одному каждого вида, т.е. в множестве может храниться ['a', 'б', 'г'], но не может ['a', 'a', 'a'] - потому что одинаковые значения как бы "накладываются" одно на другое...). Так вот для множеств есть специальная операция In, которая проверяет есть ли элемент указанный справа от нее во множестве указанном слева... То есть та строчка просто проверяет, есть ли уже во множестве zRus очередной символ строки (s[i])... Здесь: INCLUDE (a,s[i]) - это как раз та самая процедура, которая добавляет значение в множество, т.е. здесь символ s[i] добавляется ко множеству A. Здесь: ORD(s[0]) - это любимый трюк ОлегаZ, который заменяет функцию Length(s)... Просто длина строки хранится в ее нулевом символе, и этим Oleg_Z пользуется.... ![]() А вообще, если хочешь больше узнать о множествах, прочитай здесь - все описано... Сообщение отредактировано: volvo - 17.01.2005 21:14 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 4:25 |