![]() |
|
Модераторы: bsa |
![]()
|
|
| Garcian |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Здраствуйте уважаемые программисты!
У меня довольно таки простая задача "Удалить все знаки, входящие в данный набор знаков". Но было бы все так просто, я бы не стал к вам обращаться. 1) Прежде всего, можно использовать только структуры (т.е. никаких стандартных функций стринга быть не должно). 2) Внутреннее представление программы должно быть с маркером и с длинной (пользователь выбирает одно из двух). Внешнее же представление может быть каким угодно, главное чтобы при обработке маркером или длинной ответ был один и тот же. Со структурами я только знакомлюсь, поэтому для начала сделал 2 разных кода для маркера и для длины соответственно. Возникли некоторые трудности. Вот представление с маркером:
текстовый файл: I lovfe you! Буква f исчезает - отлично. Больше 2х букв не стирает (не могу реализовать). Если вводится пустой файл, проверка не работает. Выдает не пойми что... Вот код с длинной:
Здесь я застрял раньше (поиск и не пробывал). В независимости от входного файла, при запуске программа выводит ужасные вещи (проглядывается windows system и т.д.), после чего зависает. При этом комп изрядно пикает Очень прошу, если у вас есть свободные пару минут помочь мне --------------------
Неродивый студент |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Garcian, допустим, длину еще можно понять - число элементов в наборе. А вот что такое маркер, мне непонятно.
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
думаю, указатель на текущий элемент. тут наверно Length ? Это сообщение отредактировал(а) mes - 12.4.2009, 22:57 |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Маркер - это признак конца строки. У меня это восклицательный знак.
Добавлено через 29 секунд mes, да, длина) Добавлено через 8 минут и 3 секунды по англ забыл как пишется... --------------------
Неродивый студент |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
т.е. не забыл, а ошибся
--------------------
Неродивый студент |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
эх, классные задания у меня... Идеи не появились?
--------------------
Неродивый студент |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Классы использовать нельзя? Только структуры без методов?
|
|||
|
||||
| NDQuattro |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 18.7.2008 Где: Украина Репутация: нет Всего: нет |
Anikmar,
Нет методов, это же Си... Вообще не пойму, чего Страуструп не убрал структуры из плюсов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Во первых совместимость с Си. А во вторых удобно их иметь. |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Anikmar, на классы у меня следующее задание ооочень похожее) Но здесь надо без них.
--------------------
Неродивый студент |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Ясно, просто я не увидел, что написано именно Си. В примере кода был cout - это явно не Си. Добавлено через 2 минуты и 14 секунд Поподробнее по задаче: Исходный текст - из файла? кто файл создает? Строка со списком удаляемых символов - откуда? Результат куда? (Гусары - молчать!) |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
угу, исходный текст из файла! Кто создает - препод предполагаю создаст) Но об этом не стоит волноваться, главное проверку на пустой файл. А пример текстового файла я уже привел ("I lovfe you!").
Вопрос про строку мне не понятен... Результат на экран (про гусаров вообще не понял, видимо плохо с чувством юмора) --------------------
Неродивый студент |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Откуда брать строку с лишними символами? (Где взять список символов, которые надо удалить из исходной строки) Т.е. я так понимаю исходный файл текстовый. А вот структуры для работы нужны двух видов: первые хранят строку и длину отдельно, второй тип - как в Си, только вместо нулевого символа некий произвольный маркер. Вопрос: В исходном тексте обязательно должен быть маркер или к строке без маркера его просто добавлять? Добавлено через 1 минуту и 10 секунд Старый бородатый анекдот про Ржевского, гусар и графиню со свечкой (которую та не знала куда вставить). |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Anikmar, список символов можно указать прямо в программе (произвольный). Про исходный файл - на самом деле все равно, но лучше с маркером. И про внутренне представление вы все правильно поняли.
зы: да, помню этот анекдот --------------------
Неродивый студент |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Код неряшливый - сразу скажу.
Плюс использована strlen (лень было свою писать - надо сами напишите). Как-то так, короче.
Добавлено через 39 секунд зы. Файл Input.txt |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |