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

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

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

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

22.07.2014, 16:11. Просмотров 194. Ответов 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++
Int() :intez(0) {} Int(int intz) :intez(intz) {} распишите плиз, что где и зачем

Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы) - C++
Объясните пожалуйста данный моментfor (int i = 1; i &lt;= a; i++) { if (m == 0) { c = i; while (m == 0) c++; if...

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? - C++
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include &lt;iostream&gt; ...

не происходит сортировка - C++
Добрый день.Вот программный код,программа запускается,но не работает сортировка. Подскажите ошибку пожалуйста. #include &lt;vcl.h&gt; #pragma...

Как происходит циклический сдвиг (как сдвинуть элементы в массиве) - C++
Задан массивы действительных чисел а1, а2,…,а20. Сдвинуть циклическим сдвигом все его элементы так, чтобы минимальный элемент стоял на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 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++;
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2014, 19:23
Привет! Вот еще темы с ответами:

Как работает & в данном сравнении - C++
void disp_binary(unsigned u) { register int t; for(t = 128; t &gt; 0; t = t/2) if(u &amp; t) cout&lt;&lt;&quot;1 &quot;; // вот это не понятно ...

Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу? - C++
Простите, почти ничего не понимаю. for ( int i=6; i&gt;0;i-- ) { unsigned short CshortVar=i; unsigned long ClongVar=i; ...

Объясните на данном примере как работать с композицией - C++
Не могу понять как работать с композицией. А именно вывод интересует. Что я делаю не так?#include &lt;iostream&gt; using namespace std; ...

Объясните, как в данном примере работает friend - C++
friend bool operator== (const String&amp; firstStr, const String&amp; secondStr); Если писать код без friend, то возникает ошибка: ...


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

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

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