Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Реализация алгоритма сортировки для любых типов данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ строки:ПЕРЕВОД ИЗ ОДНОЙ C/ С В ДР http://www.cyberforum.ru/cpp-beginners/thread72072.html
Вывести все числа не превышающие данное N, которые в 2-ной системе счислания имеют симметричную запись ( начинается с 1!). Помогите юному гению в юбке сдать задачу на зачет! Пасибки за понимание
C++ Сортировка пузырьком... Доброе утро/день/вечер!=) У меня есть пару вопросов, на которые я никак не могу найти ответов... Есть программа, в которй проставляется оценка каждого студента за определённый предмет, всё ничего... http://www.cyberforum.ru/cpp-beginners/thread72069.html
C++ Замена в одномерном массиве, работа со строками из нулей и единиц
HELP!!!я ноль в с++ не могу сделать данные задачи: "Даны одномерные массивы чисел Х,размерностью n и Y,размерностью m. необходимо написать программу с использованием функций в которой будут...
C++ Структуру
Помогите решить задачи...пробовал ничего не смог понять. 1) Определить структуры, описывающие шар и точку в трёхмерном пространстве. Составить и протестировать функцию, которая проверяет, находится...
C++ Алгоритм бинарных вставок http://www.cyberforum.ru/cpp-beginners/thread72058.html
подскажите пожалуйста как изменить алгоритм простых вставок.чтобы преобразовать его в алгоритм бинарных вставок..
C++ Вычислить произведение элементов массива S, значение которых не больше заданного негативного числа Здесь задали на Борланде С++ ну просто нечто (я нуб в этом деле) 1.Вычислить произведение элементов массива S ,значение которых не больше заданного негативного числа A, а индексы... подробнее

Показать сообщение отдельно
Shim
25 / 25 / 1
Регистрация: 21.11.2009
Сообщений: 159
11.12.2009, 15:20  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Перставлять - побайтный обмен местами от указателей p1 и p2 размером elem_size. Но функцию сравнения придётся писать для КАЖДОГО типа. Тут либо по одной функции для каждого типа, либо шаблон Си++ (что в конечном итоге так же родит по одной функции каждого типа)
не, через шаблон не годится, ибо препод сказал что на лекц. нам про шаблоны не читал.

Добавлено через 16 минут
Вот пример: поиск max в массиве (используем тип указателя viod* который может указывать на что угодно). Мне нужно по-аналогии сделать..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
typedef int(*fxcomp)(void*, void*)
int max (void*, int n, int sz, fxcomp)
{
int max=0
for(int i=1; i<n; i++)
{
void*pi=(char*)v + i*sz;
void*pmax=(char*)v + max*sz;
if (f(pmax, pi)<0)
max=i;
}
return max;
}
 
int comp_double(void*d1, void*d2)
{
return*(double*)d1 - *(double*)d2;
}
#define N 100
void main()
{
double d[N];
...
int m=max(d,N,sizeof(double),comp_double);
double max = v[max];
}
int comp_rect(void*r1, void*r2)
{
double s1 = rects(*(rect*)r1);
double s2 = rects(*(rect*)r2);
return s1-s2;
}
void main()
{
rect rc[N]
int m = max(rc, N, sizeof(rect)), comp_rect);
}
...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru