![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Baturaanna |
![]()
Сообщение
#1
|
Гость ![]() |
Составить процедуру, позволяющую определить позицию самого правого вхождения заданного символа в исходную строку. Если строка не содержит символа, то результатом работы будет -1.
Помогите кто может. Заранее благодарна.Я вообще в этом Паскале слабо соображаю. |
![]() ![]() |
Neznaika |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 51 Пол: Мужской Репутация: ![]() ![]() ![]() |
Кажется нужно было просто
Цитата определить позицию самого правого вхождения заданного символа в исходную строку в моём варианте строка и сканируется справа. Просто это у меня от ассемблера: выбирается самый "оптимальный" вариант(если конечно считать, что нужные символы сгруппированы в конце строки, а не в её начале). В любом случае проверять все символы строки, по-моему, это ненормально. Например строка 100 символов. Нужный символ входит в строку 3 раза и находится на 1, 2 и 3-м местах. Ну проверили эти три символа, сохранили позицию последнего вхождения (итого 3 сравнений и 3 присваивания), но всё равно нужно проверить остальные 97 символов (соответственно ещё 97 сравнений). Но зачем? В этом случае было бы достаточно 97 сравненний и 1 присваивания. По-моему так. Сообщение отредактировано: Neznaika - 13.07.2007 20:39 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:51 |