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

Выполнить сортировку целочисленного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ робота с графикой http://www.cyberforum.ru/cpp-beginners/thread584715.html
Робота с графикой. что надо написать что бы можно было нарисовать рисунок пример солнышко
C++ Удаление последнего элемента списка К данной программе нужно написать функцию, которая удаляет последний элемент списка. Кто моет прошу помочь. #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define MAXDL 9 struct EL_SP { char id ; struct EL_SP *sled; }; http://www.cyberforum.ru/cpp-beginners/thread584704.html
Работа с текстовой информацией, одномерными и двумерными массивами. Поиск и сортировка данных C++
Ввести значение целочисленных матриц А размером nхn, B размере nхn, n = 4. Вычислить матрицу С по заданным задачей, использовав функции пользователя: С = 2АВ -В;
C++ Получить метку тома
Добрый вечер. Необходимо получить метку тома, нагуглил: char DiskLabel; char *DiskName = "c:\\"; GetVolumeInformation(DiskName, DiskLabel, MAX_PATH, NULL, NULL, NULL, NULL, 0); выплюнуло GetVolumeInformationW: невозможно преобразовать параметр 1 из "char *" в "LPCWSTR" При попытке поколдовать вылезает еще больше ошибок. Прошу помощи :) P.S Можно каким нибудь образом узнать текущую, тоесть...
C++ Определить функцию http://www.cyberforum.ru/cpp-beginners/thread584688.html
Определить функцию, возвращающую количество недель до конца года. Выполнить перегрузку функции для следующих типов параметров: Структура «дата» (год, месяц, день). Три целочисленных параметра: год, месяц, день. Два целочисленных параметра: месяц, день (считать передаваемые числа датой текущего года).
C++ Разместить элементы матрицы в обратном порядке помогите пожалуйста написать программу(С++) Дана действительная матрица размером NxM. Разместить элементы прямоугольной матрици в обратном порядке подробнее

Показать сообщение отдельно
w@
10 / 10 / 1
Регистрация: 11.04.2012
Сообщений: 28
23.05.2012, 21:53     Выполнить сортировку целочисленного массива
Процедура слияния требует два отсортированных массива
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
template<class T> void Merge(T const *const A, int const nA,
                             T const *const B, int const nB,
                             T *const C)
{ //Выполнить слияние массива A, содержащего nA элементов,
  //  и массива B, содержащего nB элементов.
  //  Результат записать в массив C.
 
    int a(0), b(0); //Номера текущих элементов в массивах A и B
 
    while( a+b < nA+nB ) //Пока остались элементы в массивах
    {
        if( (b>=nB) || ( (a<nA) && (A[a]<=B[b]) ) )
        { //Копирую элемент из массива A
            C[a+b] = A[a];
            ++a;
        } else { //Копирую элемент из массива B
            C[a+b] = B[b];
            ++b;
        }
    }
}
template<class T> void MergeSort(T *const A, int const n)
{ //Отсортировать массив A, содержащий n элементов
 
    if( n < 2 ) return; //Сортировка не нужна
 
    if( n == 2 ) //Два элемента проще поменять местами,
    {            //  если нужно, чем делать слияние
        if( A[0] > A[1] ) { T const t(A[0]); A[0]=A[1]; A[1]=t; }
        return;
    }
    
    MergeSort(A    , n/2  ); //Сортируем первую половину
    MergeSort(A+n/2, n-n/2); //Сортируем вторую половину
 
    T *const B( new T[n] ); //Сюда запишем результат слияния
 
    Merge(A,n/2, A+n/2,n-n/2, B); //Слияние половин
 
    //Копирование результата слияния в исходный массив:
    for(int i(0); i<n; ++i) A[i]=B[i];
 
    delete[n] B; //Удаляем временный буфер
}
 
Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru