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

Сортировка по полям структуры - C++

Восстановить пароль Регистрация
 
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
15.01.2011, 13:45     Сортировка по полям структуры #1
Необходимо сортировать параграфы по возрастанию.
Структура имеет вид:
C++
1
2
3
4
5
6
7
struct gloss
{
char term[80]; 
bool flag;
int nom;
}
gloss point[100]
Флаг необходим для пометки параграфа. Т.е. #Параграф 1 (это явл-ся параграфом)
Параграф 2 (это не явл-ся параграфом)
Значит цикл будет
C++
1
if(point[i].flag==true && point[i].term[0]=='#'){...}
nom это поле номера параграфа.
term строки текста.
Не пойму как обращаться к полю nom. (как указать что это именно номер)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2011, 13:45     Сортировка по полям структуры
Посмотрите здесь:

C++ не могу присвоить значения полям структуры.почему?
C++ Не очевидное смещение к полям структуры
C++ Как присвоить полям структуры значение?
Sort vector, сортировка по двум полям структуры C++
C++ Сортировка вектора по двум полям
C++ Доступ к полям структуры по номерам
C++ Как обратиться к полям объединения, которое находится внутри структуры?
Как обратиться к полям структуры через указатель и объявление указателя на структуру C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
15.01.2011, 23:43     Сортировка по полям структуры #2
Цитата Сообщение от jood Посмотреть сообщение
Не пойму как обращаться к полю nom. (как указать что это именно номер)
Так же как и к другим:
C++
1
point[i].nom
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
27.01.2011, 20:14  [ТС]     Сортировка по полям структуры #3
Подниму тему.
Я не правильно описал вопрос. Нужно не сортировать, а восстановить последовательность. То есть если у нас например массив 14 2 9 7 4 3, то он должен стать как 1 2 3 4 5 6 (заменить числа).
Вот у меня получилось выводить оглавление:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
case 7:
{
  int i=0, nom_flag=0;
  while(i<count && nom_flag!=ogl_y)
   {
      if(text[i].flag==true)
       nom_flag++;
        i++;
   }
  Fir_str=text[i].nom-1;
  clear_window(1,22);
  gotoxy(0,0);
  for(int i=Fir_str, j=0; i<Fir_str+21 && j<count-Fir_str; i++,j++)
  cout<<text[i].str<<endl;
  gotoxy(0,y);
  continue;
}
И структура теперь состоит из 4 полей:
C++
1
2
3
4
5
6
7
8
struct gloss
{
char str[80]; 
bool flag;
int nom;
int pos;
}
gloss text[100]
Теперь нужно в этом оглавлении восстановить последовательность. Код мне не нужен. Мне понять алгоритм восстановления (в код я преобразую). Заранее благодарен!
Yandex
Объявления
27.01.2011, 20:14     Сортировка по полям структуры
Ответ Создать тему
Опции темы

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