![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
Значит, пользователь вводит строку. Нужно сформировать новую строку из 80 символов, куда поместить первую, "центрировав" все слова. т.е.
1) " f d f fgg s d" 2)" f d f fgg s d " - слова разделены 1 пробелом. Передвигатся с помощью указателей, соответсвенно массивы символов. Я не совсем понимаю как это вообще сделать. Думал взять первую привести к виду "f d f fgg s d" т.е. удалить побокам пробелы и внутри только один оставить, посчитать длину этой строки. а потом необходимое количество пробелов слева и справа для второй. (библиотечные ф-ии незя использовать). Но и это толком не получается. Очень тяжко даются такие задачи :( Вот пробывал сначала к этому виду привести, хотя бы просто удалить все пробелы:
Тут часть прототипных ф-ий не описаны. Но и тут, если вводить много строчек ерунда получается, видимо опять эти указатели :( Уже голова кипит, подскажите плз -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Ripper, эта задача легко решается с помощью СИ-шных sscanf sprintf, либо С++сных std::strstream
если ими пользоваться нельзя, то возьми идею - читаешь посимвольно следующее слово из исходной строки, пропуская пробелы, дописываешь в конец новой строки, через один пробел. Все это в цикле, пока исходная строка не кончится. Это сообщение отредактировал(а) zkv - 7.10.2007, 20:31 |
|||
|
||||
Walker |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
Доброго времени суток!
Судя по
P.S. Не все указатели бывают одинаково полезны. ![]() -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
... точно можно использовать стандартный ввод/вывод. Проходили ли функции работы со строками и пр. - вопрос спорный, можно ли юзать - тоже. |
|||
|
||||
Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
использовать нельзя библиотечных ф-ий. Эту строку, мы так толком и не понимаем ещё, подключается какая то библиотека, а почему не .h в линуксе и с .h в виндусе, или верней при using namespace std; т.е. кароче нам сказали писать 2 строки, а что это значит мы толком незнаем ) putchar, getchar тоже незнаем таких
![]() zkv, Ну я попробую, проверять что-то вроде, символ!=проблел -> записать. Но как потом слева и справа добавить пробелы нужное количество. Почему в конец именно дописывать? -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Ripper, сорри, невнимательно задание прочитал, еще центрировать нужно.
решение уже Walker привел, ну вот еще, через через массивы, видимо так по заданию нужно было? что не нравится - доработаешь напильником ![]()
|
|||
|
||||
0lmer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 3.12.2006 Репутация: нет Всего: -1 |
Можно поробовать и так:
|
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
0) Считаем длинну строки.
1) Идём по всей строке, считаем длины слов и их кол-во, попутно занося их в дин. массив. 2) Ну а дальше всё ясно я думаю ![]() -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
Всем спасибо
![]() -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |