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

Сортировка - C++

Восстановить пароль Регистрация
 
vitaxa94
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 66
18.05.2012, 00:26     Сортировка #1
Нужно переделать сортировку с типа char(nazv) на тип int(kol).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 void sort(Csk **p,int k) // Функция для сортировки адресов в алфавитном порядке по возрастанию.
    {
        Csk *q=NULL; // вспомогательный указатель на элемент таблицы.
        bool b=true;
        while(b)
        {
            b=false;
            for(int i=0;i<k-1;i++)
            if(strcmp((*(p+i))->getnazv(),(*(p+i+1))->getnazv())>0)
            {
                 q=*(p+i);
                *(p+i)=*(p+i+1);
                *(p+i+1)=q;
                b=true;
            }
        }
    }
помогите, срочняком нужна

Добавлено через 2 минуты
Сортировка должна быть по возрастанию
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 00:26     Сортировка
Посмотрите здесь:

C++ Сортировка.
С++ сортировка C++
Сортировка C++
Сортировка C++
Сортировка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
18.05.2012, 00:46     Сортировка #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void sort(Csk **p,int k) // Функция для сортировки адресов в алфавитном порядке по возрастанию.
    {
        Csk *q=NULL; // вспомогательный указатель на элемент таблицы.
        bool b=true;
        while(b)
        {
            b=false;
            for(int i=0;i<k-1;i++)
            if((p+i)->getkol() > (p+i+1)->getkol())
            {
                 q=*(p+i);
                *(p+i)=*(p+i+1);
                *(p+i+1)=q;
                b=true;
            }
        }
    }
Так?
vitaxa94
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 66
18.05.2012, 00:52  [ТС]     Сортировка #3
выбивает ошибку в
C++
1
if((p+i)->getkol()>(p+i+1)->getkol())
требует указать тип указателя на класс
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
18.05.2012, 01:06     Сортировка #4
А так?
C++
1
if((*(p+i))->getkol() > (*(p+i+1))->getkol())
Вы бы описание класса, методов выложили. А то сиди гадай что там как у вас написано. Хорошо, я предущую тему вашу видел )
Yandex
Объявления
18.05.2012, 01:06     Сортировка
Ответ Создать тему
Опции темы

Текущее время: 00:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru