![]() |
|
Модераторы: 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 |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Ох спасибо большое) Я то надеялся, что немного код подправите, а тут бам!) Сейчас буду разбираться, еще отпишусь
--------------------
Неродивый студент |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
Ну вот, собственно, и результаты (немного запоздало). Программа работает, но преподаватель мне раскрыл суть задания насчет внешнего представления. Все таки, если представление задано длинной, то пользователь должен указать количество символов, которое он хочет прочитать. Так же преподаватель ввел 256 символов, но было прочитано только 254. Куда то 2 символа делись.
--------------------
Неродивый студент |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
||||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
А это так тяжело? --------------------
Неродивый студент |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
конечно. надо же их не только ввести, но еще и посчитать |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
сейчас блокнот такой, что на курсоре мыши указывается символ)
Но тема не об этом) --------------------
Неродивый студент |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
с 256 символами разобрался, осталось внешнее представление..
--------------------
Неродивый студент |
|||
|
||||
| Garcian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.11.2008 Репутация: нет Всего: нет |
и с внешним справился, всем спасибо!)
--------------------
Неродивый студент |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
![]()
|
| Правила форума "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. |