5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
|
||||||
1 | ||||||
Передача данных аргументу вектору07.04.2012, 23:44. Показов 674. Ответов 9
Метки нет (Все метки)
Здравствуйте, решил настроить быструю сортировку(которая на этом форуме) под себя, чтобы отсортировать числа из одного файле, но столкнулся с небольшой проблемой.., в коде указал ошибку стрелкой..
0
|
07.04.2012, 23:44 | |
Ответы с готовыми решениями:
9
Передача объекта аргументу метода Передача ссылки в конструктор (передача данных между формами) рекурсия по аргументу Нормировать по аргументу |
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
07.04.2012, 23:53 | 2 |
Что значит: "не удается передать" ?
0
|
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
|
|
08.04.2012, 00:01 [ТС] | 3 |
изначально этот код был написан для массива, но я переделал его на векторы, но не получается переделать a+i
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
08.04.2012, 00:10 | 4 |
не получается передать - это не компилируется? тогда ошибки компиляции копируйте сюда. там скорее всего написано что нет операции сложения вектора с интом.
a+1 - это сложение вектора с интом. а чем не устраивает stdшная или сишная сортировки? или нужно именно самодельную использовать?
0
|
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
|
|
08.04.2012, 00:16 [ТС] | 5 |
Ошибки
Код
Error 1 error C2784: 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy> std::operator +(_Difft,std::_Vb_iterator<_Sizet,_Difft,_MycontTy>)' : could not deduce template argument for 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 2 error C2784: 'std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy> std::operator +(_Difft,std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy>)' : could not deduce template argument for 'std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 3 error C2784: 'std::_Vector_iterator<_Ty,_Alloc> std::operator +(_Vector_iterator<_Ty,_Alloc>::difference_type,std::_Vector_iterator<_Ty,_Alloc>)' : could not deduce template argument for 'std::_Vector_iterator<_Ty,_Alloc>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 4 error C2784: 'std::_Vector_const_iterator<_Ty,_Alloc> std::operator +(_Vector_const_iterator<_Ty,_Alloc>::difference_type,std::_Vector_const_iterator<_Ty,_Alloc>)' : could not deduce template argument for 'std::_Vector_const_iterator<_Ty,_Alloc>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 5 error C2784: 'std::_String_iterator<_Elem,_Traits,_Alloc> std::operator +(_String_iterator<_Elem,_Traits,_Alloc>::difference_type,std::_String_iterator<_Elem,_Traits,_Alloc>)' : could not deduce template argument for 'std::_String_iterator<_Elem,_Traits,_Alloc>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 6 error C2784: 'std::_String_const_iterator<_Elem,_Traits,_Alloc> std::operator +(_String_const_iterator<_Elem,_Traits,_Alloc>::difference_type,std::_String_const_iterator<_Elem,_Traits,_Alloc>)' : could not deduce template argument for 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 7 error C2784: 'std::reverse_iterator<_RanIt> std::operator +(_Diff,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 8 error C2784: 'std::_Revranit<_RanIt,_Base> std::operator +(_Diff,const std::_Revranit<_RanIt,_Base> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'long' c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 Error 9 error C2676: binary '+' : 'std::vector<_Ty>' does not define this operator or a conversion to a type acceptable to the predefined operator c:\users\leo\documents\visual studio 2008\projects\ex4def\ex4def\defex4.cpp 29 скорее всего "да", ошибка здесь if ( N > i ) quickSortR(a+i, N-i);
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
08.04.2012, 00:24 | 6 | |||||
ну да. нету такого оператора сложения. в случае массивов такой вызво функции означал передачу массива меньшей длинны. на еденицу меньшей. с вектором так не пройдет. можно конечно же удалить из вектора первый элемент и передать такой вектор в функцию, но это будет явно не то, что хотел пользователь. при сортировке изменение размера вектора не предполагается. а если вы создадите временный вектор меньшей длинны, а после сортировки скопируете его в исходный - то может и прокатит. но это уже совсем не быстрая сортировка. на каждой итерации создание\удаление временных векторов, кучу копирований элементов туда сюда и т.п.
Если у вас есть вариант сортировки с массивом, то его и используйте. или используйте стандартные алгоритмы сортировки. Вот адаптация функции для использования алгоритма, который с чистым массивом работает:
1
|
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
|
|
08.04.2012, 00:24 [ТС] | 7 |
у меня числа находятся в отдельном файле, легче присвоить эти числа к вектору нежели к массиву, поэтому нужно преобразовать на векторы.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
08.04.2012, 00:27 | 8 |
стандартные алгоритмы умеют сортировать много чего.
если есть работающая фунция которая требует именно массивы, а у вас вектор, то такую функцию легко использовать, передав ей указатель на первый элемент в векторе. элементы в векторе располагаются одним блоком последовательно, как в массивах.
1
|
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
|
|
08.04.2012, 00:30 [ТС] | 9 |
спасибо вам огромное, скорее всего поступлю как вы сказали..
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
10.04.2012, 18:30 | 10 |
0
|
10.04.2012, 18:30 | |
10.04.2012, 18:30 | |
Помогаю со студенческими работами здесь
10
Передача данных по Анонимным (Неименованым) каналам с последующим использованием этих данных передача json данных с внешнего сервера через клиент в базу данных Способы шифрование данных. Передача данных на сервер в зашифрованном виде Плавное изменение свойства к аргументу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |