3 / 2 / 1
Регистрация: 09.03.2010
Сообщений: 95
|
|
1 | |
Шаблон функции03.05.2010, 23:52. Просмотров 1444. Ответов 19
Метки нет Все метки)
(
ПРОГА
Организовать шаблон функции для сортировки массива, предусмотрев, параметр заданный по умолчанию. По умолчанию порядок сортировки от минимального к максимальному элементу. Вызов функции сортировки произвести для целочисленных, вещественных и символьных элементов. Помогите составить прогу, или покажите где можно подобное посмотреть
0
|
|
03.05.2010, 23:52 | |
Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу шаблон функции. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью Ошибка в шаблоне функции: "Отсутствуют экземпляры шаблон функции, соответствующие списку аргументов" Перегруженные функции и шаблон функции |
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
||||||
04.05.2010, 00:13 | 2 | |||||
шаблон
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||
04.05.2010, 01:11 | 3 | ||||||||||
PointsEqual, не угадал.
Luna17, вот шаблонная функция сортировки пузырьком:
0
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
|
04.05.2010, 12:11 | 4 |
CyBOSSeR, почиму же, мой шаблон тоже работает
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
04.05.2010, 12:24 | 5 |
PointsEqual, я себе слабо представляю как. Приведи пример.
0
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
||||||
04.05.2010, 12:31 | 6 | |||||
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
04.05.2010, 12:56 | 7 |
PointsEqual, этот вариант не работает для массивов, память под которые выделена динамически и вообще не является сортировкой массивов, а любого объекта поддерживающего индексацию.
2
|
3 / 2 / 1
Регистрация: 09.03.2010
Сообщений: 95
|
||||||
04.05.2010, 22:04 [ТС] | 8 | |||||
CyBOSSeR, пасяб за советы, но я уже сделала сегодня на паре, вот то что получилось, мож кому пригодится (кста оч помогла прошлая прога с которой ты мне помогал)
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
04.05.2010, 23:06 | 9 |
0
|
3 / 2 / 1
Регистрация: 09.03.2010
Сообщений: 95
|
|
05.05.2010, 18:15 [ТС] | 10 |
0
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
||||||
05.05.2010, 19:14 | 11 | |||||
CyBOSSeR,
invalid types `int[int]' for array subscript (строка 18) чего не так то
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
05.05.2010, 21:06 | 12 |
PointsEqual, массивы передаются по указателю на первый элемент. int& mas - это ссылка на переменную целого типа, а не массива.
Измени int& mas на int* mas во второй строке и все должно быть нормально.
1
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
||||||
05.05.2010, 22:10 | 13 | |||||
CyBOSSeR, cо статическим понятно, спасибо, а с динамическим?
0
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
06.05.2010, 01:01 | 14 |
0
|
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
|
|
06.05.2010, 01:28 | 15 |
0
|
![]() |
||||||
06.05.2010, 08:15 | 16 | |||||
Это вообще контейнер, а не массив, хоть и по стандарту элементы в STL-контейнерах должны лежать последовательно, как в обычных массивах, чтобы образаться с ними, как с обычными массивами. То есть вполне можно писать следующим образом:
когда есть запись: Код
int a[n]; sort(a, n); если же есть запись: Код
std::vector<int> v(n); sort(v, n); чтобы в данном случае получить указатель, необходимо взять адрес от первого элемента, то есть: Код
sort(&v, n);
1
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
06.05.2010, 09:20 | 17 |
Дело не в том, как контейнер располагается в памяти, а в организации итераторов, которые позволяют обойти контейнер последовательно.
0
|
![]() |
|
06.05.2010, 15:31 | 18 |
Я опираюсь на книгу "Эффективное использование STL" Мейерса.
Код
if(!v.empty()) doSomething(&v[0], v.size()); И далее...
1
|
![]() 2331 / 1704 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
06.05.2010, 19:50 | 19 |
fasked, вот сравни:
Просто прочитав первую фразу можно подумать, что элементы всех контейнеров STL располагаются в памяти последовательно.
2
|
![]() |
|
07.05.2010, 10:15 | 20 |
CyBOSSeR, ой да, сморозил конечно
![]()
0
|
07.05.2010, 10:15 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Шаблон функции
Шаблон функции c++ шаблон функции шаблон функции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |