Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Поиск по классу


Автор: admsasha 24.2.2007, 07:32
Немогу сообразить....

есть массив класса вида
 double id   // (уникальное)
 int nomer
 char text[50]


Как без написания процедуры поиска id, вывести данные принадлежащие указанному id ?

Может есть что-то типа sp{id}.nomer ?

номер в массиве не совпадает с id....


Автор: MAKCim 24.2.2007, 10:30
Цитата(admsasha @  24.2.2007,  07:32 Найти цитируемый пост)
Как без написания процедуры поиска id, вывести данные принадлежащие указанному id ?

если есть ВОС (взаимно-однозначное соответствие) между  id и индексом - тогда да
и причем тут *N?X? smile 

Автор: GrayCardinal 24.2.2007, 10:31
Моды, кто-нить, тему срочно в юмор ))))))))

Автор: admsasha 24.2.2007, 10:35
Цитата(MAKCim @  24.2.2007,  17:30 Найти цитируемый пост)
если есть ВОС (взаимно-однозначное соответствие) между  id и индексом - тогда да

нету.


Цитата(MAKCim @  24.2.2007,  17:30 Найти цитируемый пост)
и причем тут *N?X? 

Сразу этим уточняю.

Автор: JackYF 24.2.2007, 16:41
Цитата(admsasha @  24.2.2007,  07:32 Найти цитируемый пост)
Как без написания процедуры поиска id, вывести данные принадлежащие указанному id ?


Мне вообще интересно, как ты это себе представляешь... кто-то же должен будет искать smile

А если серьезно, то это дело засовывается в 

std::map< double, spisok > myMap; // проходом по всему массиву.

А затем пишется:
Код

double id;
//....
cout << myMap[id].nomer;


Правда, при этом легком способе нельзя будет менять id в уже существующий элементах.
Можно обойтись без этого ограничения, но тогда будет сложнее.
вот так...

Автор: Ken 1.4.2007, 00:33
Только id лучше не делать double, потому что не гарантируется что сравнение чисел с плавающей запятой на равенство может всегда дать корректный ответ. Лучше использовать int.

Автор: JackYF 2.4.2007, 16:51
Ну, если надо по double, то в int их принципиального никак не засунешь...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)