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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
cflood
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 37
#1

Функция сортировки - C++

02.07.2013, 12:53. Просмотров 454. Ответов 7
Метки нет (Все метки)

День добрый, пишу сортировку чисел, столкнулся с проблемой, комментирую в коде:

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
#include <iostream>
 
using namespace std;
 
void sorting (int mass[], int out[], int size, int arg)
{
    cout << "Please enter sorting mode:\n1 - Min To Max\n2 - Max To Min\n";
    cin >> arg;
    if (arg == 1)
    {
        cout << "Min To Max sorting...\n";
        int count = 0;
        int back_count = size-1;
        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < size; j++)
            {
                if (mass[i] < mass[j])
                {
                    count++;
                }
            
            }
 
            if (count == size-1) //size-1 = 9, мы получаем 0, size-2 = 8, мы получаем 1 и т.д.
            {
                //back_count--; // если раскоментирую это и буду выше использовать не size-1, а back_count, то ничего не работает, почему?
                cout << mass[i] << "\n";
            }
 
            count = 0;
 
        }
 
    }
    
    if (arg == 2) {
        cout << "Max To Min sorting...\n";
    }
 
}
 
int main()
{
    int mass[] = {1,2,3,4,5,6,7,8,9,0};
    int size = sizeof(mass)/sizeof(mass[0]);
    int * out = new int[size]();
 
    sorting(mass, out, size, 1);
 
    cout << "\n";
    
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция сортировки (C++):

Функция сортировки - C++
Здравствуйте, у меня есть функция, которая должна сортировать массив сначала по одному параметру, а потом по другому, для структуры....

Функция сортировки - C++
А ваше есть ли функция для сортировки массива, если да то как ей пользоваться ?

Функция сортировки - C++
Здравствуйте,коллеги! Подскажите какую-нибудь функцию сортировки с наименьшим количеством операций сравнения. В общем необходимо сравнить...

Функция сортировки матрицы - C++
Функция сортировки матрицы по убыванию элементов 1 строки

Не работает функция сортировки - C++
void Sort(char path) { Rect *MyRect = new Rect ; //дин массив Rect temp; //буффер int k = 0,x1,y1,x2,y2; //вершины...

Функция сортировки массива - C++
Необходимо написать функцию сортировки массива структур с информацией по книгам по возрастанию года издания и возвращающую отсортированный...

7
Stereotip
2 / 2 / 0
Регистрация: 17.04.2012
Сообщений: 22
02.07.2013, 13:23 #2
А что это??)) вот сайт посмотрите http://cybern.ru/category/algorithms/cpp)) там должен быть интересующий вас материал)
0
cflood
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 37
02.07.2013, 13:25  [ТС] #3
Stereotip, благодарю конечно, но я хочу понять что не так в конкретно моём коде
0
Stereotip
2 / 2 / 0
Регистрация: 17.04.2012
Сообщений: 22
02.07.2013, 14:34 #4
вот посмотри)
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
#include <iostream>
 
int sort_vstavkatomax(int *a,int b)
{
        std::cout << "From min to max" << std::endl;
        for (int i = 0; i < b; i++)
        {
        int temp = a[i];
        int j = i - 1;
        while (j >= 0 && a[j] > temp)
        {
            a[j + 1] = a[j];
            j--;
        }
        a[j + 1] = temp;
    }
    return *a;
}
 
int sort_vstavkatomin(int *a,int b)
{
        std::cout << "From max to min" << std::endl;
        for (int i = 0; i < b; i++)
        {
        int temp = a[i];
        int j = i - 1;
        while (j >= 0 && a[j] < temp)
        {
            a[j + 1] = a[j];
            j--;
        }
        a[j + 1] = temp;
    }
    return *a;
}
int main()
{
    int size;
    std::cin >> size;
    int *a = new int [size];
    for (int i = 0; i < size; i++)
    {
        std::cin >> a[i];
    }
    sort_vstavkatomax(a,size);
    for (int i = 0; i < size; i++)
    {
        std::cout << a[i] << ' ';
    }
    return 0;
}
0
cflood
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 37
02.07.2013, 14:37  [ТС] #5


Почему back_count--; не работает? В логике ошибка где?
0
Stereotip
2 / 2 / 0
Регистрация: 17.04.2012
Сообщений: 22
02.07.2013, 14:40 #6
Если бы ты его использовал тогда бы оно работало, а так оно просто определено и все))
0
cflood
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 37
02.07.2013, 14:41  [ТС] #7
я же написал

Цитата Сообщение от cflood Посмотреть сообщение
//back_count--; // если раскоментирую это и буду выше использовать не size-1, а back_count, то ничего не работает, почему?
В примере используется не back_count а size-1 для демонстрации.
0
Stereotip
2 / 2 / 0
Регистрация: 17.04.2012
Сообщений: 22
02.07.2013, 14:42 #8
А зачем это переменная тебе нужна и что она делает?? ты понимаешь??
0
02.07.2013, 14:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 14:42
Привет! Вот еще темы с ответами:

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

Функция сортировки массива - C++
Задание - необходимо осуществить сортировку, используя функцию. Я написал код, но он не работает. Прошу помочь его исправить. ...

Функция сортировки и поиска - C++
Ужасная функция...неделю бился так ничего и не смог придумать...Само условие поставленное в задаче звучит так: &quot;Написать алгоритм,...

Функция сортировки массива в структуре - C++
Помогите пожалуйста в написании функции осуществляющей перестановку строк двухмерного массива: первую и последнюю вторую и предпоследнюю,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.