| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Работа с символьной строкой |
| Автор: Death_muse 24.11.2007, 22:29 |
| Люди добрые помогите написать следующую лабу: В символьной строке удалить все слова, буквы которых входят в неразрешенный набор символов. Пытался сделать сам : Вводил 2 символьных масива: один для ввода всех символов другой для запрещенных символов. дальше написал алгоритм сравнения элемнтов двух массивов и вывода не совпавших символов, но почему-то прога не работает( Извините что не могу пока вынести свой код проги |
| Автор: likehood 25.11.2007, 22:06 |
все буквы или хотя бы одна? |
| Автор: Death_muse 26.11.2007, 02:54 |
| Хотя бы одна |
| Автор: likehood 26.11.2007, 20:53 | ||
Особенность кода: пробелы перед/после удалённого слова не удаляются
|
| Автор: Death_muse 27.11.2007, 22:12 |
| ОООО большое спасибо чел прям выручил первака, группе которого ничего не обхясняют на лекции (это чистой воды правда) Токо вот одна просьба, так как нам на лекции ничо не объяснюят, можно следующие вопросы задать?: что значит операторы: std coutn(вроде бы - это ввод символов?0) cin const pool bool И что значят эти сдвиги << >>? Если есть возможность дай ссылку откуда ты узнал всю информацию для выполнения этой лабы |
| Автор: likehood 27.11.2007, 22:23 |
| std:: - узазывает на пространство имен std (в этом пространстве имен объявлены все классы и функции стандартной библиотеки, чтобы не было конфликта имен). чтобы не писать везде этот префикс можно написать в начале программы using namespace std; cout - стандартный поток вывода, << означает вывод в поток (на консоль). аналогично, cin >> - ввод с консоли. тип bool - логический тип, принимает два значения - true и false (истина и ложь). Для более подробной информации советую почитать хороший учебник по С++. У нас даже есть раздел по литературе/документации, там много ссылок на учебники в электронном виде. Для начала пойдет любой учебник. удачи! |
| Автор: Death_muse 28.11.2007, 15:28 |
| биг спс снова |
| Автор: Death_muse 2.12.2007, 06:13 |
| Likehood вот токо одна спроблема с твоей прогой: она просто не работает, компилируется без проблем. Все ввожу одну строку со всеми символами, затем illegalstr , но прога вывовид первоначальную строку без изменений. Пожалуйста исправь прогу снова |
| Автор: likehood 3.12.2007, 23:30 |
| напиши какие строки вводишь, чтобы проще было найти ошибку |
| Автор: Death_muse 4.12.2007, 20:21 |
| после появления 1 надписи что нужно ввести общую строку я ввел: gkj glj dl Затем после появления 2 сообщения я ввел: j k И мне выводить прога: gkj dlj d Добавлено через 7 минут и 9 секунд Кстати likehood я пытался понять твой алгоритм и единственное что я не понял : это что за функция memset и что значат её операнды и зачем нужен массив charmap? |
| Автор: likehood 4.12.2007, 20:42 |
| странно, у меня все работает (выводит dl). какой у тебя компилятор? она служит для обнуления массива charMap, хотя можно было обойтись без нее, написав char charMap[256] = {0}; массив charMap исползуется для упрощения поиска неразрешенных символов (это видно из 17-18 строк). |
| Автор: Death_muse 5.12.2007, 20:51 |
| спс значит у меня старая версия visual c++ все тему закрываю |