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

Как происходит сортировка в данном блоке? - C++

Восстановить пароль Регистрация
 
Rasplad
0 / 0 / 0
Регистрация: 13.07.2014
Сообщений: 5
22.07.2014, 16:11     Как происходит сортировка в данном блоке? #1
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
55
56
57
58
59
60
61
62
void Sort(char *text, int len, TCHAR* ptr, bool newFile)
{
char *info;
int i=0,b=0;
char loly[80];
int lol;
int j=0;
char info1[10];
info=(char*)malloc(len*sizeof(char));
strcpy(info,"");
struct BOOK book[100];
    while(i<len)
    {
        int c=0;
        int k=0;
        while(text[i]!=' ')
        {
            c=c*10+(text[i]-'0');
            i++;
        }
        book[b].shifr=c;
    char s[80]="";
        while(text[i]!='\n')
        {
            
            
            if(i==len) break;
            s[k]+=text[i];
            k++;
            i++;
            
        }
    strncpy(book[b].ost, s,k-1);
    book[b].ost[k-1] = '\0';
        b++;
        i++;
    }
    while(j<b-1)
    {   
    for(i=0;i<b-1;i++)
    {
        if (book[i].shifr<book[i+1].shifr) 
        {   
        lol=book[i+1].shifr;
        book[i+1].shifr=book[i].shifr;  
        book[i].shifr=lol;
        strcpy(loly,book[i+1].ost);
        strcpy(book[i+1].ost,book[i].ost);
        strcpy(book[i].ost,loly);
        }
    }
    j++;
    }
    for(i=0;i<b;i++)
    {
        wsprintf(info1, "%d",book[i].shifr);
        strcat(info,info1);
        strcat(info,book[i].ost);
        strcat(info,"\r\n");
    }
    SetDlgItemText(hWnd, ID_MAINEDITFIELD, info);
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2014, 16:11     Как происходит сортировка в данном блоке?
Посмотрите здесь:

C++ не происходит сортировка
C++ Как происходит циклический сдвиг (как сдвинуть элементы в массиве)
C++ Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу?
Объясните, как в данном примере работает friend C++
Как найти длину наименьшей строки в данном массиве ? C++
C++ Как работает & в данном сравнении
C++ Объясните на данном примере как работать с композицией
Как происходит побитовый сдвиг? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
22.07.2014, 19:23     Как происходит сортировка в данном блоке? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Обычная пузырьковая сортировка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 while(j<b-1)// повторяем b Раз
    {   
    for(i=0;i<b-1;i++) // просматриваем все элементы
// тут можно было бы сэкономить, те, что уже всплыли смотреть не надо for(i=j
    {
        if (book[i].shifr<book[i+1].shifr) // Надо ли два соседних переставить
        {   
        lol=book[i+1].shifr;
        book[i+1].shifr=book[i].shifr;  
        book[i].shifr=lol;
        strcpy(loly,book[i+1].ost);
        strcpy(book[i+1].ost,book[i].ost);
        strcpy(book[i].ost,loly);
        }
    }
    j++;
    }
Yandex
Объявления
22.07.2014, 19:23     Как происходит сортировка в данном блоке?
Ответ Создать тему
Опции темы

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