С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Отсортировать половину массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запросить у пользователя 5 строк и вывести на экран ту, в которой содержится меньше всего букв «а» http://www.cyberforum.ru/cpp-beginners/thread110904.html
Запросить у пользователя 5 строк и высвети на экран ту, в которой содержится меньше всего букв «а»
C++ Запросить у пользователя ввести месяц года, и если он равен текущему, вывести ответ «Верно» Запросить у пользователя ввести месяц года, и если он равен текущему, вывести ответ «Верно» http://www.cyberforum.ru/cpp-beginners/thread110898.html
C++ Конвертация строки в число
Стыдно конечно, но вот уже пол года изучаю с++ и только сейчас заметил что при данном коде #include <windows.h> #include <iostream> using namespace std; int main(int argc, char* argv) { ...
Подсчитать сумму отрицательных элементов массива 5х8 C++
Подсчитать сумму отрицательных элементов массива 5х8
C++ Ошибка с перегрузкой операторов http://www.cyberforum.ru/cpp-beginners/thread110867.html
копилятор видимо тупит или я туплю или автор книги class countt{ public: int getvar()const{return itsvar;} void setvar(int var){itsvar=var;} void inc(){itsvar++;} void...
C++ В массиве найти номер максимального элемента В массиве найти номер максимального элемента подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4952 / 2532 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.03.2010, 10:23
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
#include <cstdlib>
#include <iostream>
#include <iterator>
 
// Сортировка методом пузырька
template <typename array>
void sort_bubble_up(array * a, int l, int r)
{
    for(int i = l; i < r; i++)
        for(int j = r; j > i; j--)
            if(a[j-1] > a[j])
                std::swap(a[j-1], a[j]);
}
// Сортировка методом вставок
template <typename array>
void sort_insert_up(array * a, int l, int r)
{
    int i = 0;
    for(i = r; i > l; i--)
        if(a[i-1] > a[i])
            std::swap(a[i-1], a[i]);
    for(i = l + 2; i <= r; i++)
    {
        int j = i;
        array v = a[i];
        while(v < a[j-1])
        {
            a[j] = a[j-1];
            j--;
        }
        a[j] = v;
    }
}
    
int main()
{
    int size = 20;
    int a[size];
    
    for(int i = 0; i < size; ++i)
        a[i] = rand() % 9;
        
    std::copy(a, a+size, std::ostream_iterator<int>(std::cout, ", "));
    std::cout << std::endl;
    
    sort_insert_up(a, 0, size/2 - 1);
    sort_bubble_up(a, size/2, size - 1);
    
    std::copy(a, a+size, std::ostream_iterator<int>(std::cout, ", "));
}
Код
5, 8, 7, 4, 8, 1, 3, 0, 7, 2, 8, 2, 7, 6, 7, 5, 7, 8, 3, 0,
0, 1, 2, 3, 4, 5, 7, 7, 8, 8, 0, 2, 3, 5, 6, 7, 7, 7, 8, 8,
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.