|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|||||||||||
ф-ция реверса строки14.05.2013, 10:51. Показов 11022. Ответов 110
Метки нет (Все метки)
был вчера на собеседовании, попросили написать ф-цию реверса строки (поменять местами 1й и последний символы, 2й и предпоследний и т.д.), но ф-ция должна принимать параметром указатель на char т.е. на начало строки и все. я там немного тупанул но написал, вот хочу узнать есть ли решение получше моего.
вот код (писал в Embarcadero RAD Studio (Borland)):
0
|
|||||||||||
| 14.05.2013, 10:51 | |
|
Ответы с готовыми решениями:
110
Функция реверса строки
Какая ф-ция в VC++ определяет длину строки??? |
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 15.05.2013, 12:01 | ||
|
0
|
||
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 15.05.2013, 12:05 [ТС] | |
|
ты не фантазируй а поставь себя на место компилятора и рассмотри все варианты которые могут возникнуть выполняя последовательно код, следуя описанной логике
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 15.05.2013, 12:15 | ||
|
0
|
||
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 15.05.2013, 12:21 [ТС] | |
|
если человек создал указатель на строку, затем переместил его за пределы контейнера и пульнул в ф-цию, тут уже вряд-ли что-то можно сделать
Добавлено через 2 минуты тогда ф-ция покрамсает данные, лежащие в памяти и вообще много вариантов развития событий)
0
|
|
|
|
|
| 15.05.2013, 12:28 | |
|
C++ const char *str = "text"; const char *buf = str; int len = strlen(str); for (int i = len; i > 0; i--) { str[i] = buf[len-i]; }
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 15.05.2013, 12:35 | |
|
0
|
|
|
|
||
| 15.05.2013, 12:39 | ||
|
C++ char * str = "text" ; char * buf = str ; int len = strlen (str ) ; for (int i = len ; i > 0 ; i -- ) { str [ i] = buf [ len -i ] ; }
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 15.05.2013, 12:42 | ||||||
|
programina, Аналогично, писать можно с точки зрения компиляции, с точки зрения выполнения - ловите UB.
1
|
||||||
|
|
|
| 15.05.2013, 12:44 | |
|
0
|
|
| 15.05.2013, 12:47 | |
|
1
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 15.05.2013, 12:52 | ||
если строка пуста и находится в начале сегмента код убьет машину
0
|
||
| 15.05.2013, 12:53 | |
|
0
|
|
| 15.05.2013, 12:58 | |
|
1
|
|
|
|
|
| 15.05.2013, 13:02 | |
|
Tulosba, ура, на ideone.com все работает. Спасибо!
0
|
|
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|||||||
| 15.05.2013, 13:19 [ТС] | |||||||
0
|
|||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 15.05.2013, 13:20 | ||||||
|
igor001,
Потенциальное UB в дальнейшем.
0
|
||||||
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 15.05.2013, 13:25 [ТС] | |
|
в твоем представлении
Добавлено через 2 минуты незнаю, билдер хавает и преобразует в строку, добавляя терминальный ноль в конце Добавлено через 15 секунд ЗЫ что такое UB? Добавлено через 1 минуту а все, понял undefined behaviour
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||
| 15.05.2013, 13:27 | |||
|
igor001, И что дальше?
0
|
|||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 15.05.2013, 13:30 | ||
|
0
|
||
|
8 / 3 / 2
Регистрация: 12.02.2013
Сообщений: 68
|
|
| 15.05.2013, 13:34 [ТС] | |
|
не знаю, я сам так не писал в своем коде)) (юзаю строки или вектор) но сча попробовал, вродь норм работает.
я только не понимаю зачем дальше тему развивать, задача решена уже. У меня единственный вопрос остался. Мне тут товарищи говорят мол все делают через временную переменную а через битовые операции это "плохой стиль" + процессор вычисляет такие операции медленнее чем если бы использовалась временная переменная...
0
|
|
| 15.05.2013, 13:34 | |
|
Защита от реверса ( md5 ) Реализация реверса массива Защита от реверса проекта Ошибка в создании реверса массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|