|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2012, 22:29 | #1 |
Пользователь
Регистрация: 12.01.2012
Сообщений: 18
|
Задача на С++
Мучаю с ней очень долго, никак не могу справится. Ниже сама задача и код, который уже более или менее похож на правду. Помогите пожалуйста.
Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами. Распечатать каждую строку, заменив каждое слово, начинающееся с заданной буквы на заданное слово. Вот сама программа, я долго бьюсь с ней, но она так и не заработала. Код:
Последний раз редактировалось kryliaangela; 13.01.2012 в 01:58. |
13.01.2012, 14:12 | #2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Ну зачем же так усложнять? Есть же STL, в конце-концов...
Вот, например, такой вариант: Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
13.01.2012, 15:01 | #3 |
Пользователь
Регистрация: 12.01.2012
Сообщений: 18
|
Ну я новичок в этом деле, язык я еще не настолько хорошо знаю, моя программа была построена просто на логике, т.е. я не уверена в использовании некоторых функций. Вся задача сводится к тому, что надо создать алгоритм нахождения пробела и первой буквы, если буква заданная, то вывести данное слово вместо имеющегося, и продолжить проверять строку.
Этот кусок программы будет повторяться раз 5. |
13.01.2012, 15:31 | #4 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Цитата:
Если уж начинать писать на С++, то надо использовать и соответствующие языку стандарты... Ну, не знаешь ты итераторов -- это вполне нормально для начинающего. Но зачем использовать С-ные нуль-строки, если в С++ есть тип string вместе с соответствующими функциями? А алгоритм останется тем же. Из строки (которая должна начинаться не с пробела) вырезаешь (то есть, строка уменьшается на это слово + пробел) слово (до пробела), проверяешь первую букву и печатаешь либо это же слово, либо замену. Все это в цикле, пока не окончится строка.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
13.01.2012, 15:57 | #5 |
Пользователь
Регистрация: 12.01.2012
Сообщений: 18
|
как я понимаю string это поток, может быть вопрос глупый, но я не очень понимаю, как ограничить это 100 символами?
и не могли бы вы объяснить принцип действия вот этого куска stringstream ss(str); for (istream_iterator<string> It(ss); It != istream_iterator<string>(); ++It) *It это указатель if ((*It)[0] == ch)? и почему он берется от 1 символа? пардон за такое количество вопросов, просто нам этого не объясняли, а разбираться в описании функции на английском не очень легко |
13.01.2012, 16:34 | #6 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Цитата:
string -- это строка. в отличие от с-ной null-terminated string (char[100], например), не имеет в конце нуль-терминатора ('\0'). поток -- это stringstream. то, что ты просишь объяснить -- это итераторы доступа, но про них мы уже не говорим. я имел в виду библиотеку <string> и, в частности, ее методы find_first_of(), copy и substr. Этого, по идее, должно хватить...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
14.01.2012, 13:08 | #7 |
Пользователь
Регистрация: 12.01.2012
Сообщений: 18
|
Кстати большое спасибо за помощь, теперь только осталось полностью в тексте программы разобраться
|
14.01.2012, 13:30 | #8 |
Пользователь
Регистрация: 12.01.2012
Сообщений: 18
|
я вроде разобралась)
Последний раз редактировалось kryliaangela; 14.01.2012 в 19:08. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача о стрелках (задача Майхелла) | Silly Student | Помощь студентам | 0 | 14.12.2011 22:20 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |