|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.11.2011, 17:51 | #1 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
Найдите ошибку Please
Задача: Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее с начала вошли все четные символы строки S1, а потом все нечетные символы строки S2, работая со строками как с массивами(не используя string.h)
Написанный мною код: Код:
-=-=-=-=-|?|-=-=-=-=-
|
05.11.2011, 18:09 | #2 |
Пользователь
Регистрация: 11.10.2011
Сообщений: 60
|
Собсно, косяк в том, что ты в циклах используешь переменную size, вместо реального размера реальной строки. Так у тебя получается, что конечный массив S набивается мусорными значениями S1 и S2.
Собственно, исправить можешь так: Либо дописать функцию, которая будет возвращать размер строки: Код:
Код:
Последний раз редактировалось Stilet; 08.11.2011 в 09:04. |
05.11.2011, 18:18 | #3 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
Спасибо огромное супер только про второй способ не понятно, не могли бы Вы подробнее про это пояснить?
-=-=-=-=-|?|-=-=-=-=-
|
05.11.2011, 18:51 | #4 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
Либо сделать нормально:
Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
05.11.2011, 19:06 | #5 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
спасибо использовал смешанный вариант...
-=-=-=-=-|?|-=-=-=-=-
|
05.11.2011, 20:03 | #6 |
Пользователь
Регистрация: 11.10.2011
Сообщений: 60
|
|
05.11.2011, 23:46 | #7 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
Интересно, а как решить эту задачу с помощью string.h? То есть не рассматривая S1 и S2 как массивы. Знаю что нужно воспользоваться strcat(), но как передать символ S1[i] (например), вторым аргументом функции?
Ну помогите кто-нибудь (см. пост выше)... Хотя бы, направьте в нужном направлении
-=-=-=-=-|?|-=-=-=-=-
Последний раз редактировалось Stilet; 08.11.2011 в 09:08. |
07.11.2011, 11:05 | #8 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Да никак. То есть, можно читать строки в переменные типа std::string, а в функции вместо проверки на нуль-терминатор опираться на функцию std::string::size(). Теоретически, можно припазать ещё и стандартные алгоритмы, но это в любом случае не <string>.
|
07.11.2011, 19:57 | #9 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
странно... Препод сказал написать эту же программу, но рассматривая S1, S2 и S как строки, пользуясь функциями string.h ... можно конечно strlen() использовать для определения размера строки в цикле но как произвести конкатенацию символа в строку???
-=-=-=-=-|?|-=-=-=-=-
|
07.11.2011, 20:17 | #10 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Зачем "конкатенацию"? Заказать строку длиной в среднее арифметическое длин входных и менять элементы через [] не вариант?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найдите ошибку | Yanik | Помощь студентам | 4 | 12.06.2011 11:45 |
Найдите ошибку | #Sharp# | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 23.12.2010 14:35 |
Найдите ошибку | Гиро-Гинор | Помощь студентам | 2 | 12.11.2010 23:16 |
Найдите ошибку | *natali* | Помощь студентам | 3 | 08.11.2009 17:30 |