Показать сообщение отдельно
Старый 23.05.2011, 16:17   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от snakind Посмотреть сообщение
единственный вопрос
Какую нагрузку несёт в строке

str:=Copy(stmp,i1,i2-i1);

действие i2-i1 ?
Да... ну тут, видимо, придется подробно расписать алгоритм, тогда всё станет понятно.
1. Считываем исходную строку (s).
2. Будущей результирующей строке (stmp) присваиваем значение исходной строки s. Дальше работаем только с stmp.
3. В строке stmp находим очередное слово. i1 - это порядковый номер первой буквы слова, i2 - символа, следующего за последней буквой.
4. Командой (функцией) Copy копируем найденное слово в строку str. При этом в параметрах команды нужно указать откуда копируем (stmp), номер позиции символа исходной строки, начиная с которого копируем (i1), и количество копируемых символов (i2-i1).
5. В str проводим перестановку букв, выстраивая их по алфавиту.
6. Командой (процедурой) Delete удаляем из stmp старое слово. Опять же указываем строку, позицию первого символа, количество символов.
7. Командой (процедурой) Insert вставляем преобразованное слово. Параметры команды - что вставляем (str), во что вставляем (stmp), начиная с какой позиции вставляем (i1).
8. Перебрав все слова и выведя на экран результат, радуемся жизни.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070