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

Отсортировать половину массива - 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) { char ch = "234:1:9845"; cout<<atoi(&ch); system("pause");
Подсчитать сумму отрицательных элементов массива 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 operator++(){++itsvar;} countt(){itsvar(0);} ~countt(){} private:
C++ В массиве найти номер максимального элемента В массиве найти номер максимального элемента подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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,
 
Текущее время: 08:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru