|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.03.2013, 17:00 | #1 |
Новичок
Джуниор
Регистрация: 15.03.2013
Сообщений: 1
|
Задача на циклическую перестановку символов
Доброго всем времени суток!
Требуется помощь в написании простенькой программы на циклическую замену символов в слове. Например, из слова "Hello" получить "olleH". Пробывал все-все (и переменные char, string... length, downto... в общем кучу всего...), но в конце концов окончательно запутался. P. S. Пытался выкрутиться своими силами, но, видимо, слишком долго не работал в TurboPascal. Заранее спасибо за помощь. |
15.03.2013, 17:37 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
15.03.2013, 17:50 | #3 |
Пользователь
Регистрация: 25.02.2013
Сообщений: 57
|
Токая программа?
-------------------------------------------- var i:integer; s:string; BEGIN readln(s); for i:=length(s) downto 1 do write(s[i]); END. -------------------------------------------- |
15.03.2013, 19:01 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
forged, Ваша программа вообще не производит никаких замен. Получение некоторого результата в строке и формирование некоторого (пусть даже того же самого) результата на экране - это разные задачи.
|
15.03.2013, 19:52 | #5 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
15.03.2013, 20:28 | #6 |
Пользователь
Регистрация: 25.02.2013
Сообщений: 57
|
Почему? Просят же было так: вводим слово 'hello' вывод 'olleh' или 'File' 'eliF'
|
15.03.2013, 20:34 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
15.03.2013, 23:02 | #8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Я снова дико извинюсь, но можно я тут тихонечко пофлужу?
Вот пример forged'a имеет сложность O(N) Код:
Но ведь в примере#2 в цикле выполняется 3 оператора, а в первом только 1.. Вообщем вопрос : как в таком случае высщитать сложность? |
15.03.2013, 23:16 | #9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Сложность алгоритма определяется с точностью до константы, поэтому никакой сложности O(N div 2) быть не может, это та же сложность O(N).
Другими словами, оба примера имеют одинаковую асимптотическую сложность. Вы ведь не знаете, во сколько ассемблерных инструкций превратится один оператор на ЯВУ? А три оператора? А при включенном оптимизаторе? Вопрос кстати, очень интересный потому, что при правильной оптимизации эти три операции на ЯВУ должны превратиться в одну-две инструкции (в зависимости от системы команд - одноадресная или двухадресная). |
16.03.2013, 07:25 | #10 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
А если будет такой алгоритм : Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сделать перестановку слов в веденном предложении не повторяя одинаковые перестановки | luybeznov | Помощь студентам | 3 | 22.05.2012 00:28 |
Даны 2-е матрицы размерностью 40,40. Выполнить перестановку первой и последней строки. | V1rus.25 | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 22.04.2012 11:06 |
нужна перевести циклическую сумму с бэйсика на с++ | TiNTi | Помощь студентам | 2 | 01.05.2011 23:04 |
Как разорвать циклическую структуру? Лисп | s2dentishe | Помощь студентам | 4 | 20.02.2011 15:16 |