2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
||||||
1 | ||||||
Считывание текста и удаление в нем пробелов27.02.2013, 22:35. Показов 3409. Ответов 20
Метки нет (Все метки)
нужно, чтобы при вводе с клавиатуры текста удалялись пробелы, и на выходе был массив чаров( или string) без пробелов.
например: вводим:123 456 789 а на выходе массив с элементами: 123456789
0
|
27.02.2013, 22:35 | |
Ответы с готовыми решениями:
20
Удаление из текста лишних пробелов Удаление лишних пробелов из текста Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один)) Игнорирование пробелов при считывание |
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
27.02.2013, 22:44 | 2 |
Надо указывать размер выделяемого массива.
Добавлено через 2 минуты И освобождать выделенную память.
0
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
||||||
27.02.2013, 22:49 [ТС] | 4 | |||||
можно поподробнее, пожалуйста
Добавлено через 1 минуту мы не знаем исходный размер текста
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
||||||
27.02.2013, 23:18 | 5 | |||||
Ну и что? Нельзя выделить "не знаю сколько" памяти, так устроен оператор new[]. Можно взять std::string, там не будет таких проблем:
0
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
27.02.2013, 23:26 [ТС] | 7 |
gray_fox, что делает 7я строка?
Добавлено через 37 секунд ну компилится же, до первого пробела)
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
27.02.2013, 23:28 | 8 |
1
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
27.02.2013, 23:31 [ТС] | 9 |
gray_fox, т.е. этот код вводит с клавиатуры в строку, а как пробелы мне убрать?
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
27.02.2013, 23:36 | 10 |
lowlol, нет, он читает строки до пробела и добавляет их к str.
Добавлено через 39 секунд Там грамм. ошибка, кстати, писал на память. Добавлено через 1 минуту Можно ведь просто взять, попробовать скомпилировать и посмотреть, что получиться самому: http://ideone.com/0ccipU .
0
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
27.02.2013, 23:40 [ТС] | 11 |
gray_fox, допустим, если я введу с клавиатуры: 123 456
то он посчитает 123 как tmp, добавит к str, потом аналогично сделает с 456? Добавлено через 57 секунд gray_fox, я чекнул в VS, у меня отображалось только то, что я ввел
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
27.02.2013, 23:41 | 12 |
lowlol, да, будет так делать, пока в потоке ввода что-нибудь есть.
0
|
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
|
|
27.02.2013, 23:42 | 13 |
оператор >> игнорирует пробельные символы
0
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
||||||
27.02.2013, 23:45 [ТС] | 14 | |||||
gray_fox, а закрыть поток я могу как-нибудь так:
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
||||||
27.02.2013, 23:52 | 15 | |||||
Потому что "конец ввода" - EOF. В винде вроде Ctrl+Z добавляет.
Добавлено через 1 минуту Если ты хочешь читать до перевода строки, то проще будет читать посимвольно и проверять каждый символ перед добавлением на '\n', примерно так:
Только тут придётся ещё перед добавлением проверять на пробел самому.
1
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
27.02.2013, 23:53 [ТС] | 16 |
gray_fox,
1 IntelliSense: отсутствуют экземпляры перегруженная функция "std::basic_string<_Elem, _Traits, _Alloc>::append [с _Elem=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]", соответствующие списку аргументов типы аргументов: (char) тип объекта: std::string вот так ругается в последнем коде
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|||||||||||
27.02.2013, 23:55 | 17 | ||||||||||
т.е если предыдущее поправить.
а, ну да, для добавления символа:
0
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
27.02.2013, 23:59 [ТС] | 18 |
gray_fox, я правильно понял, что 1 в параметрах append так как считываем по одному символу?
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
28.02.2013, 00:01 | 19 |
Добавляешь одну копию tmp в конец str. http://en.cppreference.com/w/c... ing/append , если особо интересно, я наизусть это всё не знаю)
1
|
2 / 2 / 2
Регистрация: 02.12.2012
Сообщений: 102
|
|
28.02.2013, 00:03 [ТС] | 20 |
gray_fox, вроде все понял, спасибо за разъяснения
0
|
28.02.2013, 00:03 | |
28.02.2013, 00:03 | |
Помогаю со студенческими работами здесь
20
Дано предложение. Определить количество пробелов в нем Удаление пробелов Удаление пробелов Удаление пробелов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |