Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2013, 16:40   #1
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию Сортировка

Код:
class PharmV: public Pharmacy
{Remedy medicines[max_nmedicines];
std::vector<Remedy> vmedicines;
std::vector <Remedy>::iterator pmedicines;
public:
	void show();
	void cnslCmd();
	void save_file();
	void read_file();
    void add_medicines(Remedy); 
    void del_last_medicines(); 
	void del_name(const wchar_t *f);
	void clear();
	void sort();
    void sort_inverse();
    void del_dubles();
void find_name( const wchar_t *g);
};
Код:
void PharmV::sort()
{   
	sort(vmedicines.begin(), vmedicines.end());
	
};
Выдает ошибку...как правильно нужно сортировать этим алгоритмом?
Diana528 вне форума Ответить с цитированием
Старый 19.11.2013, 16:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кстати. :http://www.programmersforum.ru/showthread.php?t=202650
Это к ответу в личке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2013, 17:02   #3
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

точнее вот такую ошибку дает - Ошибка 24 error C2676: бинарный "<": "Remedy" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору c:\program files\microsoft visual studio 10.0\vc\include\algorithm 3559 1 Laba.9
Diana528 вне форума Ответить с цитированием
Старый 19.11.2013, 21:00   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Ну да, чтобы сортировать что-то с помощью stl нужно у этого чего-то перегрузить operator<.

Допиши в класс Remedy
Код:
bool operator<(const Remedy &other)
{
   //тут сравнение
}
Son Of Pain вне форума Ответить с цитированием
Старый 21.11.2013, 13:18   #5
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

снова ошибка та же
Код:
bool med_sort(Remedy a,Remedy b){
 wstring s, v;
 s=a.get_name();
 v=b.get_name();
 if(s<v)
	 return true;
 else
 return false;
 
};

void PharmV::mysort()
{
	sort(vmedicines.begin(),vmedicines.end(),med_sort);
	cout<<"Сортировка выполнена"<<endl;
};

bool med_del_dubles(Remedy x, Remedy g)
{
	wstring h, v;
	h=x.get_name();
	v=g.get_name();
	if(h==v)
		return true;
	else
	return false;
	
};
void PharmV::del_dubles()
{
	sort(vmedicines.begin(),vmedicines.end(),med_sort);
	pmedicines = unique(vmedicines.begin(), vmedicines.end(), med_del_dubles);
	vmedicines.resize(distance(vmedicines.begin(), pmedicines));
	wcout<<L"Успешно выполнено"<<endl;
};
Diana528 вне форума Ответить с цитированием
Старый 21.11.2013, 14:09   #6
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Ошибка - понятие абстрактное.
Поконкретнее бы.
nikmoon вне форума Ответить с цитированием
Старый 21.11.2013, 14:22   #7
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Ошибка 6 error C2660: Pharmacy::sort: функция не принимает 3 аргументов d:\мои документы\visual studio 2010\projects\laba.9\laba.7\pharma. cpp 393 1 Laba.9
Diana528 вне форума Ответить с цитированием
Старый 21.11.2013, 14:25   #8
nikmoon
Форумчанин
 
Регистрация: 13.11.2013
Сообщений: 149
По умолчанию

Надо писать std::sort, если нужно вызывать функцию из STL.
nikmoon вне форума Ответить с цитированием
Старый 21.11.2013, 14:25   #9
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

а все решила)
Diana528 вне форума Ответить с цитированием
Старый 21.11.2013, 14:27   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты точно в классе ее переименовала?
Наведи на это слово мышку что в подсказке будет написано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32