![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
kyzia |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 27 Регистрация: 6.4.2010 Город: москва Учебное заведение: мгу ![]() |
Как написать программу, которая записывала бы слова в тексте задом наперед.
Пример: Исходный:hello, my dear friend! Результат:olleh, ym raed dneirf! в чем еще сложность, что разделители должны оставаться на своих местах. Что посоветуете, какой алгоритм? В принципе представляю процесс: находит слово до разделителя, переворачивает, вписывает в строку, после разделитель вписывает, затем берется за другое слово. Напечатать слово задом наперед не проблема, а вот чтобы его вытащить и заново редактированное вставить на место никак. |
![]() ![]() |
Vahappaday |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
1. Реализовать функцию Reverse (у Вас уже получилось)) Осталось вынести в функцию)
2. Реализовать функцию IsSplitSymbol(a as String) as Boolean - проверяет, является ли строка разделителем. 3. Завести две Integer переменных - одна хранит начало текущего слова, другая его длину: Dim myStart, myLen as Integer Пробегаем по строчке слева направо: Если текущий символ - разделитель: Дописываем к рез. строке Reverse(Mid(t,myStart, myLen)) Дописываем символ к результирующей строке myLen=0 myStart = i+1 Если текущий символ - не разделитель myLen=myLen+1 Повторю вопрос: это VB6 или уже VB.NET |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.5.2025, 22:16 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru