Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы с использованием класса Задача Водителям не безразличен пробег их авто. Один водитель записал свои данные о нескольких заправках, записывая пройденные км и число залитых в бак литров бензина Разработайте программу, которая используя оператор while вводила бы пробег в км. и объём бензина в каждой заправке( пока не будет введено контрольное значение "-1" ). Программа должна показывать общий пробег и сколько потрачено... https://www.cyberforum.ru/ cpp-beginners/ thread344374.html C++ Мышь
Здравствуйте, подскажите, где ошибка? #include "stdafx.h" #include <Windows.h> #include <winuser.h> //Оба хэдэра нужны? using namespace System; static void click(int x, int y) {
C++ Помогите новичку. https://www.cyberforum.ru/ cpp-beginners/ thread344315.html
Я совсем чайник, можно сказать, что я ни разу в жизни не сталкивался с программированием на каком-либо языке. Но у меня есть огромное желание изучить язык С++. Я не знаю абсолютно ничего. Помогите, пожалуйста, подобрать издание, которое поможет мне начать изучать данный язык.
C++ WinApi и MinGW Здравствуйте! Суть такова: При компиляции следующего кода : #include <QtCore/QCoreApplication> #include <windows.h> #include <iostream> using namespace std; int main(int argc, char *argv) { https://www.cyberforum.ru/ cpp-beginners/ thread344294.html
C++ Удаление цикла в ориентированном графе
Помогите реализовать такой вот алгоритм: Задан ориентированный граф. Необходимо найти и удалить из него все циклы. Пример графа: 1 2 2 3 2 4 3 1 3 5 4 5 Находим циклы: {1 2 3 1} => Заменяем вершины 2 3 на 1, тем самым получаем граф: 1 1
C++ Пример задания с сайта Яндекса =) Доброе время суток всем страждущим :jokingly: Просматривая объявления вакансий для программистов не мог не заметить некую шаблонность что-ли, этих самых объявлений. В них говориться что нужен специалист, профессионал. Владение стандартными алгоритмами, знание основных структур данных :D , знание ООП и умение применять его на практике и тд... А кто он ? Этот самый профессионал ? В моем... https://www.cyberforum.ru/ cpp-beginners/ thread344254.html
C++ Найти следующее после n число, в двоичной записи которого столько же единиц Доброго времени суток. Вопрос в названии темы, полное условие тут. Перебор не проходит. Пробовал #include <iostream> int ones_count(int n){ int res = 0; for( ; n ; n >>= 1) res += n & 1; return res; } https://www.cyberforum.ru/ cpp-beginners/ thread344236.html C++ Класс дата
Создать класс типа - дата с полями: день (1-31), месяц (1-12), год(целое число).Класс имеет конструктор:с параметрами, без параметров,копирования; деструктор; функции-члены получения дня,месяца и года,а также две функции-члены печати по шаблону: "5 января 1997 года" и "05.01.1997"; функции-члены должны проверять корректность задаваемых параметров. Помогите пожалуйста с определением класса! Вот...
C++ CodeLite - отсутствуют библиотеки https://www.cyberforum.ru/ cpp-beginners/ thread344179.html
Здравствуйте, дорогие форумчане. Необходима кросcплатформенная среда разработки C++. На рабочем компе через центр приложений (Ubuntu) поставил CodeLite. Столкнулся с проблемой отсутствия инклудов windows.h, conio.h и т.д. Проекты просто не запускаются. На домашнем ПК пользуюсь Visual Studio, поэтому с подобной проблемой никогда не сталкивался. В инете манов по это поводу не нашел. Прошу...
C++ Получить список студентов с указанием среднего балла имеется информация о студентах группы: Ф.И.О., результаты экзаменационной сессии. Мне надо получить список студентов с указанием среднего балла. Для решения данной задачи мне надо использовать массив структур или можно как-то по другому сделать? Если да, то как? https://www.cyberforum.ru/ cpp-beginners/ thread344176.html
Код ждёт ввода следующей строчки - цикл повторяется бесконечно. C++
В учебнике написано, что вот этот код #include <iostream> #include <string> using namespace std; int main() { string word; while (cin >> word) cout << "прочитано слово: " << word << "\n";
C++ Как сменить IP адрес день добрый. не подскажите как программно заставить венду сменить IP ? https://www.cyberforum.ru/ cpp-beginners/ thread344162.html
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12453 / 7478 / 1752
Регистрация: 25.07.2009
Сообщений: 13,748
23.08.2011, 03:21 0

подпрограмма для универсальной сортировки - C++ - Ответ 1932840

23.08.2011, 03:21. Показов 2245. Ответов 3
Метки (Все метки)

Ответ

Быструю сортировку лениво делать - много букв
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// ANSI C 99
 
#include <stdio.h>
#include <string.h>
 
#define swap(a, b, size) ({ unsigned char tmp[(size)]; memcpy(tmp, (a), (size)); memcpy((a), (b), (size)); memcpy((b), tmp, (size)); })
 
void mysort(void * arr, size_t count, size_t size, int (*func)(const void *, const void *)){
    void * pArr, * pCurrent, * pFirst;
    
    for ( pArr = arr; pArr < ( arr + (count - 1) * size ); pArr += size ){
        pFirst = pArr;
        for ( pCurrent = pArr + size; pCurrent < ( arr + count * size ); pCurrent += size )
            if ( func(pFirst, pCurrent) > 0 )
                pFirst = pCurrent;
        if ( pFirst != pArr )
            swap(pArr, pFirst, size);
    }
}
 
int cmp_char_ascendant(const void * a, const void * b){
    return *(char*)a - *(char*)b;
}
 
int cmp_char_descendant(const void * a, const void * b){
    return cmp_char_ascendant(b, a);
}
 
int cmp_int_ascendant(const void * a, const void * b){
    return *(int*)a - *(int*)b;
}
 
int cmp_int_descendant(const void * a, const void * b){
    return cmp_int_ascendant(b, a);
}
 
int cmp_double_ascendant(const void * a, const void * b){
    double diff = *(double*)a - *(double*)b;
    return ( diff < 0.0 ) ? -1 : ( diff > 0.0 ) ? 1 : 0;
}
 
int cmp_double_descendant(const void * a, const void * b){
    return cmp_double_ascendant(b, a);
}
 
#define SIZE 5
 
int main(void){
    char cArr[SIZE] = { 'b', 'd', 'a', 'c', 'e' };
    int iArr[SIZE] = { 3, 1, 2, 5, 4 };
    double dArr[SIZE] = { 2.0, 3.1, 4.4, 1.8, 5.4 };
    
    int i;
    
    printf("Char unsorted:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%c ", cArr[i]);
    printf("\n");
    
    mysort(cArr, SIZE, sizeof(char), cmp_char_ascendant);
    printf("Char sorted ascendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%c ", cArr[i]);
    printf("\n");
    
    mysort(cArr, SIZE, sizeof(char), cmp_char_descendant);
    printf("Char sorted descendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%c ", cArr[i]);
    printf("\n");
    
    printf("Int unsorted:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%d ", iArr[i]);
    printf("\n");
    
    mysort(iArr, SIZE, sizeof(int), cmp_int_ascendant);
    printf("Int sorted ascendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%d ", iArr[i]);
    printf("\n");
    
    mysort(iArr, SIZE, sizeof(int), cmp_int_descendant);
    printf("Int sorted descendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%d ", iArr[i]);
    printf("\n");
    
    printf("Double unsorted:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%.1f ", dArr[i]);
    printf("\n");
    
    mysort(dArr, SIZE, sizeof(double), cmp_double_ascendant);
    printf("Double sorted ascendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%.1f ", dArr[i]);
    printf("\n");
    
    mysort(dArr, SIZE, sizeof(double), cmp_double_descendant);
    printf("Double sorted descendant:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%.1f ", dArr[i]);
    printf("\n");
    
    return 0;
}


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

Использование универсальной инициализации для объектов своего класса
Здравствуйте! Все мы знаем, что поля структуры мы можем красиво инициализировать через {...}. Тогда...

Написать шаблонную функцию для универсальной отрисовки данных, содержащихся в объектах, засунутых в вектор
Существует базовый класс и два класса наследника от него. Хочу сделать функцию для универсальной...

Подпрограмма сортировки массива из записей вставками
Разработать программу с подпрограммой сортировки вставками массива из записей. Заранее спасибо.

Подпрограмма общего вида сортировки элементов
составить подпрограмму сортировки элементов по убыванию одномерного вещественного массива. С...

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

Подпрограмма сортировки элементов одномерного вещественного массива по убыванию
Составить подпрограмму сортировки элементов по убыванию одномерного вещественного массива. С...

Подпрограмма сортировки массива по возрастанию среднего арифметического всех цифр в числе
Дан массив, заполненный случайными целыми числами в диапазоне от -30000 до 30000. Напишите...

Создание универсальной обработки для различных конфигураций
Задача: Пишу обработку накладных и хочу сделать ее универсальной, одна из ее задач проведение...

Создание универсальной библиотеки для включаемых файлов.
Включаю несколько файлов один в другой: &lt;!-- #INCLUDE File='svdbfunc.asp' --&gt; Получаются взаимные...

Библиотека / класс для универсальной работы с DataGridView
Добрый вечер! Подскажите пожалуйста, существуют ли универсальные решения (библиотеки) для...

Организация алгоритма для универсальной программы под микроконтроллер
Здравствуйте уважаемые программисты интересует следующий алгоритм для следующей задачи: задача:...

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