Показать сообщение отдельно
  #1  
Старый 14.12.2008, 17:51
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию сортировка

помогите пожалуйста сортировать из записи дату..

вот такая вещь:

Код:
type
recp = record
       names: string;
       date : array[1..3];
       end;

var
...
zapis1 : array[1..10] of recp;
zapis2 : recp;

...
в date содержатся 3 поля:
date[1] - чило
date[2] - месяц
date[3] - год


нужно сортировать по всей дате... помогите пожалуйста..

писал так:

Код:
 for i:= 1 to n-1 do
           repeat
             flg := 0;
               if (zapis1[i].date[3] > zapis1[i+1].date[3]) then
                 begin
                   zapis2 := zapis1[i];
                    zapis1[i] := zapis1[i+1];
                   zapis1[i+1] := zapis2;
                 flg := 1;
                 end;
until flg = 0;

вобщем здесь сортировка работает, но только по году.

если я начинаю дальше сортировать по месяцу то сортируется только по месяцу..
пробовал обойтись и таким методом:

Код:
for i:= 1 to n-1 do
           repeat
             flg := 0;
               if (zapis1[i].date[3] > zapis1[i+1].date[3]) and
                  (zapis1[i].date[2] > zapis1[i+1].date[2]) and
                  (zapis1[i].date[1] > zapis1[i+1].date[1]) then
                 begin
                   zapis2 := zapis1[i];
                    zapis1[i] := zapis1[i+1];
                   zapis1[i+1] := zapis2;
                 flg := 1;
                 end;
until flg = 0;

тоесть сортировка сазу по всей дате, но н сортирует только по числу

помогите пожалуйста!
Ответить с цитированием