![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Задача такая:
Из входного потока вводится произвольное число строк, состоящих из последовательности десятичных многоразрядных чисел и слов, которые могут быть не разделены, либо разделены один/несколькими пробелами/знаками табуляции. Длина строки не превышает 80 символов. Конец ввода определяется концом файла. При обработке строк сформитровать 2 новые, поместив в первую числа, во втроую слова. Числа и слова должны быть разделены только один пробелом. Полученные строки вывести на экран. P.S. Ввод нужно сделать с помощью cin.getline(куда, максимум_сколько). Библиотечные функции обработки строк не использовать. Вопрос такой для начала. Как в функции различать что есть символ, что есть цифра? И раскидать их по разным массивам. |
|||
|
||||
piritus |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: 1 Всего: 3 |
или если строка:
так же с цифрами --------------------
|
||||
|
|||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
нельзя использовать функции из string.h
|
|||
|
||||
Evjeny |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 14.8.2006 Репутация: 3 Всего: 5 |
Извиняюсь, че-то я ошибся, надо вот так
Это сообщение отредактировал(а) Evjeny - 21.4.2008, 13:56 |
||||
|
|||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Я тут пишу эту программку и возникла проблемка. Почему функция filter не вырезает символы-разделители?
|
|||
|
||||
piritus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 226 Регистрация: 3.1.2007 Где: Сибирь Репутация: 1 Всего: 3 |
--------------------
|
|||
|
||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Вот, что у меня тут получается, но какой-то непонятный для меня глюк после ввода происходит. Когда после Enter string я нажимаю на enter, даже ничего не вводя, выводиться какая-то кракозябра. А если ввожу сиволы и цифры, то тоже хрень какая-то происходит. Мне препод подсказывал, подсказывал, так я правильно и не смог написать. Или может что-то не дописал? Я вообще с этими указателями не очень дружу )). В чем тут может быть дело?
|
|||
|
||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Правильный вариант. Проверенный и зачтенный
![]()
Теперь нужно эту прогу переделать со списками и динамической памятью. Каждая строка представлена списком; первое поле элемента списка - символ строки; второе - указатель на следующий элемент списка или NULL в конце списка. Ввод по такой же схеме, пока не конце - cin.getline(); сформировать список; обработать список в соответствии с условием задачи; вывести результат и освободить память, выделенную под список. |
|||
|
||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Народ, подскажите в чем проблема и где? Я тут написал сам толком не понимаю что сделал :blink: После ввода строки с буквами и цифрами (по заданию, оно написано выше) програма вылетает с ошибкой сегментации.
|
|||
|
||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Народ, помогите отладить программу
![]() Ввожу строку, например: erttt3456345fhfsgh rth 5673567 356. А результат: 3456345 0 0 05673567 0356 erttt fhfsgh rth Т.е. после каждого пробела вставляется ноль, не пойму почему. Причем, происходитӕто только в строке(функции) с цифрами. Даже, если я просто ввожу пробел, то в результирующей строке будет выведен ноль ![]()
Это сообщение отредактировал(а) m0zg - 16.5.2008, 01:27 |
|||
|
||||
Evjeny |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 14.8.2006 Репутация: 3 Всего: 5 |
В функции
исправь строку
на
|
||||||
|
|||||||
m0zg |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.7.2007 Репутация: нет Всего: 2 |
Блиин, точно! Спасибо большое
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |