|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2009, 20:27 | #1 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
(C++) списки
Пишу программу со списками.
На строчках кода: Код:
Код:
В чём может быть проблема? |
10.05.2009, 21:13 | #2 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
Сорри....нашёл ошибку...не указал, сколько символов нужно считать. Вот так:
Код:
|
11.05.2009, 00:15 | #3 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
Теперь возникла такая проблема...
Мне нужно производить поиск по одному 5-ти полей структуры. Алгоритмы одинаковы. Мне нужно писать 5 одинаковых по алгоритму функций или можно как-то написать одну функцию, но в которую передаётся имя того поля, по которому ищем? |
11.05.2009, 10:18 | #4 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Можно и так, и так. Смотря, что не лень написать Во втором случае можно использовать перечислимый тип или map. Но если использовать map, то и структура-то становится не нужна...
В стандартной библиотеке это вроде организовано передачей предиката в функцию. Если писать так, то надо написать одну функцию поиска и 5 маленьких функций проверяющих нужное поле на равенство нужному значению. |
12.05.2009, 19:13 | #5 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
megachuhancer Хмм...смотри как я это понял: Мы создаём 5 функций поиска (функция на поле). Каждая из них принимает сравниваемое значение и адрес просматриваемой структуры и возвращает 1 или 0. Функция поиска принимает адрес одной из этих 5-ти функций и указатель на первую структуру. Просматривает структуры, обращаясь по указателю к переданной ей функции (передавая адрес структуры и то, что нам надо проверить на равенство). После этого если функция вернёт 1, мы сделаем одни действия, а если 0, то ничего. Я тебя правильно понял? И ещё вопрос...причём здесь перечислимый тип?
И ещё подойдёт ли для неё такой прототип? Рабочий ли он? Код:
Код:
Последний раз редактировалось Troi666; 12.05.2009 в 20:13. |
12.05.2009, 22:41 | #6 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
Поиск работает, но при возвращении нулевого указателя из функции, указанной выше, прога вылетает с ошибкой распределения памяти..почему так может быть? При вылете значение element = NULL. Добавлю: Вылетает при строковом запросе поиска...любом....
Вылетаем в _ios_base.h на Код:
Код:
Последний раз редактировалось Troi666; 12.05.2009 в 23:06. |
13.05.2009, 00:47 | #7 |
Пользователь
Регистрация: 01.12.2008
Сообщений: 58
|
Долго думали, но проблему нашли. Ей был ввод в указатель на символьную константу. Непонятно, как компилятор это пропустил, ну да ладно.
Код:
Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Списки C++ | Katya Melody | Помощь студентам | 0 | 07.05.2009 23:32 |
Списки? | Chainic | Microsoft Office Excel | 13 | 06.05.2009 22:53 |
На списки... | Neznau | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 02.07.2008 19:49 |
Списки... | Arkuz | Компоненты Delphi | 2 | 19.04.2008 22:58 |