Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вычислить формулу https://www.cyberforum.ru/ cpp-beginners/ thread746257.html
Дано действительное число y. Получить (1.7t(0.25)+2t(1+y))/(6-t(y^2-1)), где t(x)=Ʃx^2k, k от 0 до 5. Добавлено через 18 часов 24 минуты Тема снова закрыта=)))
Решение уравнения теплопроводности C++
задача:
C++ Выдается ошибка при компиляции (error C2447: missing function header (old-style formal list?)) https://www.cyberforum.ru/ cpp-beginners/ thread746249.html
не работает программа, выдает ошибку C:\Program Files\Microsoft Visual Studio\MyProjects\564356765456\cfvb n.cpp(6) : error C2447: missing function header (old-style formal list?) //------------------------------------------------------------- template <class T> //прототип шаблона семейства функций T abs(T); //--------------------------------------------------------------...
C++ Действия с числами в 16-ой системе счисления https://www.cyberforum.ru/ cpp-beginners/ thread746247.html
Здравствуйте, есть два вопроса. 1) Какой тип данных подходит для чисел в 16-й системе счисления? 2) сможет ли С++ выполнить элементарные алгебраические преобразования с этими числами? (сложить, вычесть, умножить, поделить) или придется писать свою функцию, которая будет это все выполнять?
C++ Аппаратное прерывание от таймера,частота мерцания курсора
здравствуйте !подскажите пожалуйста как в этой программе перехватить частоту мерцания курсора и сделать так чтобы она мерцала раз в 3 секунды например! // Аппаратное прерывание от таймера, генерация звука от 700 до 1200 Гц каждые 3 секунды #include <dos.h> #include <stdio.h> #include <conio.h> #include <bios.h> unsigned long far *count = (unsigned long far*) MK_FP(0x0040, 0x006c); //...
C++ Дана целочисленная квадратная матрица . Написать программу, определяющую след. величины .Дана целочисленная квадратная матрица . Написать программу, определяющую величины: 1) произведение элементов в строках, которые не содержат отрицательных элементов; 2) максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. 3) суммы четных элементов строк и столбцов матрицы. #include "stdafx.h" #include "stdafx.h" #include <iostream> https://www.cyberforum.ru/ cpp-beginners/ thread746224.html
C++ Power Designer https://www.cyberforum.ru/ cpp-beginners/ thread746223.html
Здравствуйте, вопрос следующий- можна ли с хедер та cpp файлов создать UML-диаграммы(диаграмму коассов )?
Символьные матрицы (заполнить матрицу символами из ASCII таблицы) C++
Нужно заполнить матрицу символами из ASCI таблицы. А именно цифры и английские малые буквы. Как рандому указать диапазон?
C++ С++ и ряды (ругается на слишком маленькие числа) Программу никак не могу закончить: х неправильно вычисляется, ругается на слишком маленькие числа.... #include <iostream> #include <iostream.h> #include <conio.h> #include <math.h> #include <iomanip.h> int main() { float x,s,y; https://www.cyberforum.ru/ cpp-beginners/ thread746208.html C++ вычислите решение нер-ва. ax+b/cx+d<=0 Для задания значений a,b,c,d вычислите решение нер-ва. ax+b/cx+d<=0 https://www.cyberforum.ru/ cpp-beginners/ thread746206.html
Определить правильность C++
Определить правильность, введенной с клавиатуры(число от 1 до 31, месяц от 1 до 12). Если введены некорректные данные, то сообщить об этом.
C++ Ряд тейлора https://www.cyberforum.ru/ cpp-beginners/ thread746203.html
Добрый вечер. Помогите решить задачу. Нужно разложить ряд тейлора т Хн до Хк с шагом дх, и точностью эпс.
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
27.12.2012, 07:20 0

векторы и алгоритмы сортировки - C++ - Ответ 3922913

27.12.2012, 07:20. Показов 757. Ответов 5
Метки (Все метки)

Ответ

Цитата Сообщение от Elfenlide Посмотреть сообщение
я думал нужно перегружать функции и делать отдельно для вектора...что-то типо этого: template <class T>
void bogoSort(vector<T> &arr);
Ну можно и так сделать, если хочется, но это будет работать только в vector. Это
C++
1
2
3
4
template<typename Container>
void in_place_mergesort(Container & container) {
   in_place_mergesort(container.begin(), container.end());
}
будкт работать со всем, у чего есть методы begin и end, с std::deque, например. Container ведь может быть любым типом, вот только если у него не будет методов begin/end, будет ошибка компиляции. А это
C++
1
2
3
4
template<typename Value, int N>
void in_place_mergesort(Value (&array)[N]) {
   InPlaceMergesort(&array[0], N);
}
перегрузка для массивов, у них ведь нет методов. Если есть std::begin и std::end, то обе эти ф-ии можно заменить одной:
C++
1
2
3
4
template<typename Container>
void in_place_mergesort(Container & container) {
   in_place_mergesort(std::begin(container), std::end(container));
}
C++
1
2
template<typename Iterator>
void in_place_mergesort(Iterator const first, Iterator const last)
это прототип а ля stl (можешь посмотреть, какие прототипы у алгоритмов stl здесь, например std::sort), последовательность (std::vector, массив и т.д.) представляется в виде двух итераторов: первый указывает на начало последовательности, второй - на "следующий за последним" элемент. Iterator может быть чем угодно, что ведёт себя как итератор, иначе просто не скомпилируется. Т.е. для std::vector<T> Iterator = std::vector<T>::iterator, для массива из int Iterator = int *.
C++
1
InPlaceMergesort(&*first, static_cast<int>(std::distance(first, last)));
Здесь просто вызывается твоя ф-ия. Что бы её вызвать, надо получить указатель на первый элемент (&*first) и размер последовательности (std::distance(first, last)). В действительности это не совсем хорошо, т.к. будет работать только с тем, что последовательно располагает элементы в памяти (массив, std::vector), но не с std::deque, например. Это потому что твоя ф-я явно принимает указатель, что бы от этого избывиться, надо абстрагироваться от указателя до итератора, т.е. переписать прототип твоей ф-ии
C++
1
2
template<class T>
void InPlaceMergesort(T *a, int len);
так, например:
C++
1
2
template<typename Iterator>
void InPlaceMergesort(Iterator a, int len);
или лучше так:
C++
1
2
template<typename Iterator>
void InPlaceMergesort(Iterator begin, Iterator end);
Тогда твоя ф-я будет работать с любыми итераторами с произвольным доступом.

Добавлено через 3 минуты

Не по теме:

да, я очень понятно объясняю)



Вернуться к обсуждению:
векторы и алгоритмы сортировки C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 07:20
Готовые ответы и решения:

Написать две функции сортировки массива целых чисел, реализующих заданные алгоритмы сортировки – один из класса квадрат
#include &lt;stdio.h&gt; #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;stdlib.h&gt; #include...

алгоритмы сортировки
нужно выполнить сортировку массива целых чисел 3 методами: простыми включениями, простым выбором,...

Алгоритмы Сортировки
помогите пожалуйста выполнить вот такое задание... завтра утром нужно сдать.... 1) Реализовать...

Алгоритмы сортировки массивов
Дан массив А(50). Отсортировать элементы, предшествующие первому нулевому элементу, по возрастанию...

5
27.12.2012, 07:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2012, 07:20
Помогаю со студенческими работами здесь

STL алгоритмы сортировки
Здрасти. В STL есть алгоритмы sort - упорядочивает последовательность и stable_sort -...

Алгоритмы внешней сортировки
Добрый день. Интересуют такие алгоритмы сортировки, как многофазное слияние, каскадное слияние и...

типовые алгоритмы сортировки
типовые алгоритмы сортировки как они выглядят ?

Алгоритмы сортировки и поиска
Помогите, пожалуйста!! Нужно выполнить сортировку целочисленного массива (поиск в массиве) из n...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru