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

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

Войти
Регистрация
Восстановить пароль
 
Demiar
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 86
#1

Сортировка файла записей по двум критериям - C++

28.05.2014, 03:04. Просмотров 247. Ответов 2
Метки нет (Все метки)

В общем, есть файл из записей, 4 поля, мне надо его отсортировать пирамидой, с помощью индексированного массива по 2м критериям, то есть главная сортировка по 1 полю, но как находит одинаковые строки в 1 поле, то он сортирует их по 2 полю, не врубаюсь вообще..вот сама сортировка через индексный по 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
void s(struct str mass[])
{
  int L,i,t,j,R,N;
  int x;
  N = 4000;
  L = N/2; 
  R = N;
  for (i=0;i<4000;i++)                                                          
    IndexMas_SummaVklada[i]=i;  
  while(L>0)
  {
    x = mass[IndexMas_SummaVklada[L]].summa;
    i = L;
    while(1)
    {
      j = 2*i;
      if(j>N)
        break;
      if( (j<N) && (mass[IndexMas_SummaVklada[j+1]].summa >= mass[IndexMas_SummaVklada[j]].summa) )
        j++;
      if ( x >= mass[IndexMas_SummaVklada[j]].summa )
        break;
      mass[IndexMas_SummaVklada[i]].summa = mass[IndexMas_SummaVklada[j]].summa;
      i = j;
    }
    mass[IndexMas_SummaVklada[i]].summa = x;
    L--;
  }
  R=N;
  while(R>1)
  {
    t = mass[IndexMas_SummaVklada[0]].summa;
    mass[IndexMas_SummaVklada[0]].summa = mass[IndexMas_SummaVklada[R]].summa;
    mass[IndexMas_SummaVklada[R]].summa = t; 
    R--;
    x = mass[IndexMas_SummaVklada[0]].summa; 
    i = 0; 
    while(1)
    {
      j = 2*i;
      if(j>R)
        break;
      if( (j<R) && (mass[IndexMas_SummaVklada[j+1]].summa >= mass[IndexMas_SummaVklada[j]].summa) ) 
        j++;
      if ( x >= mass[IndexMas_SummaVklada[j]].summa )
        break;
      mass[IndexMas_SummaVklada[i]].summa = mass[IndexMas_SummaVklada[j]].summa;
      i = j;
    }
    mass[IndexMas_SummaVklada[i]].summa = x; 
  }
    
}
Добавлено через 4 часа 40 минут
Ап теме...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 03:04     Сортировка файла записей по двум критериям
Посмотрите здесь:

Сортировка вектора записей по двум полям одновременно - C++
Здравствуйте, не получается создать две разных функции перегрузки оператора &lt;:одну для сортировки первого поля класса,вторую для сортировки...

(STL LIST SORT) Сортировка по некольким критериям - C++
Здравствуйте! Столкнулся с такой проблемой при сортировке списка. %-) Есть структура: struct PackObject { bool ...

Сортировка по двум полям - C++
Здравствуйте, уважаемые! Есть такой map частотный словарь: 155 hello 74 welcome 50 car 18 red 4 digital ...

Сортировка вектора по двум полям - C++
Вектор состоит из структуры с двумя полями: день недели и время. Нужно отсортировать так, чтобы сначала в векторе хранились структуры, у...

Переписать с первого файла данные во второй файл, но по критериям - C++
Здравствуйте ещё раз. Помогите, пожалуйста, с самым сложным. Я написал в файл текст с цифрами. Например: My name is Peter. I`am 15 years...

Sort vector, сортировка по двум полям структуры - C++
Поскажите как отсортировать если: struct DATA{ string fir; string sec; double sm; }; vector &lt;DATA&gt; vec; vector...

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

Сортировка записей в файле - C++
Нужно написать программу сортировки Работа обязательно с файлами. В файле содержатся данные о сотрудниках предприятия: фамилия,...

Сортировка записей класса через функцию qsort - C++
Имеется класс. На определённом этапе надо отсортировать его. Записи должны быть размещены в алфавитном порядке по названиям пунктов...

Считывание записей из файла (C++) - C++
Задание: Бинарный файл (текстовый файл) содержит записи, каждая из которых включает следующую информацию: строку1 символов, под...

Чтение из файла и упорядочивание записей - C++
Имеется текстовый файл например Время 0 A-начало наблюдения Время 7 B-покинул очередь Время 5 C-покинул очередь Время 5 ...

Удаление записей из бинарного файла - C++
Столкнулась со следующей проблемой. В задании необходимо записать и считывать данные о структуре из бинарного файла и удалить все записи,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5276 / 4596 / 1541
Регистрация: 14.04.2014
Сообщений: 18,265
28.05.2014, 10:10     Сортировка файла записей по двум критериям #2
Дай нормальное описание, что за L, R и по каким полям сортировать.
Demiar
2 / 2 / 0
Регистрация: 02.11.2012
Сообщений: 86
28.05.2014, 16:11  [ТС]     Сортировка файла записей по двум критериям #3
L и R эт левая и правая граница, пирамидальная сортировка!!! одно поле эт summa - главное поле, а если находит одинаковые строки, то сортирует по data

Добавлено через 1 час 51 минуту
поможет кто?

Добавлено через 3 часа 50 минут
хелпаните пасаны
Ответ Создать тему
Опции темы

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