![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
![]()
Задача: Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее с начала вошли все четные символы строки S1, а потом все нечетные символы строки S2, работая со строками как с массивами(не используя string.h)
Написанный мною код: Код:
-=-=-=-=-|?|-=-=-=-=-
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 11.10.2011
Сообщений: 60
|
![]()
Собсно, косяк в том, что ты в циклах используешь переменную size, вместо реального размера реальной строки. Так у тебя получается, что конечный массив S набивается мусорными значениями S1 и S2.
Собственно, исправить можешь так: Либо дописать функцию, которая будет возвращать размер строки: Код:
![]() Код:
Последний раз редактировалось Stilet; 08.11.2011 в 09:04. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
![]()
Спасибо огромное
![]() ![]()
-=-=-=-=-|?|-=-=-=-=-
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]()
Либо сделать нормально:
Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
![]()
спасибо
![]()
-=-=-=-=-|?|-=-=-=-=-
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.10.2011
Сообщений: 60
|
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
![]()
Интересно, а как решить эту задачу с помощью string.h? То есть не рассматривая S1 и S2 как массивы. Знаю что нужно воспользоваться strcat(), но как передать символ S1[i] (например), вторым аргументом функции?
Ну помогите кто-нибудь (см. пост выше)... Хотя бы, направьте в нужном направлении ![]()
-=-=-=-=-|?|-=-=-=-=-
Последний раз редактировалось Stilet; 08.11.2011 в 09:08. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Да никак. То есть, можно читать строки в переменные типа std::string, а в функции вместо проверки на нуль-терминатор опираться на функцию std::string::size(). Теоретически, можно припазать ещё и стандартные алгоритмы, но это в любом случае не <string>.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 05.11.2011
Сообщений: 21
|
![]()
странно... Препод сказал написать эту же программу, но рассматривая S1, S2 и S как строки, пользуясь функциями string.h ... можно конечно strlen() использовать для определения размера строки в цикле но как произвести конкатенацию символа в строку???
-=-=-=-=-|?|-=-=-=-=-
|
![]() |
![]() |
![]() |
#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 |