Страница 1 из 1

Массив записей

СообщениеДобавлено: 12.02.2014 19:57:52
crancv
Доброе время.
Есть массив записей :

type Resurses=record
Index:byte;
Kol_vo:uint64;
end;

Massive:array[0..255] of Resurses;

Index - содержат значения от 0 до 255; Допустим это ASCII коды.
Kol_vo - содержат различные значения от 1000 до 10000 обозначающие какое количество соответствующих ASCII кодов содержится в файле ;

Как отсортировать массив (значения Kol_vo) , чтобы значения массива расположились в порядке убывания.
!!!!! Но таким образом, чтобы значения элементов Index тоже отсортировались в соответствии с элементами Kol_vo. !!!!!


Допустим было так: А стало так:
Index Kol_vo Index Kol_vo
0 15 4 22
1 12 3 20
2 13 0 15
3 20 2 13
4 22 1 12
5 11 5 11

Добавлено спустя 12 минут 18 секунд:
Не получилось с первого раза.
Было так:
Index Kol_vo
0 15
1 12
2 13
3 20
4 22
5 11

Стало так:
Index Kol_vo
4 22
3 20
0 15
2 13
1 12
5 11

Re: Массив записей

СообщениеДобавлено: 14.02.2014 11:15:21
xdsl
Ничем не отличается от сортировки любого массива. алгоритм сортировки - любой, в качестве ключа - Kol_vo.
Ну например:
Код: Выделить всё
...
for i:=0 to 5 do
  for k:=0 to 4-i do
    if massive[k].kol_vo<massive[k+1].kol_vo then begin
     tmp:=massive[k];
     massive[k]:=massive[k+1];
     massive[k+1]:=tmp;
    end;
...

Re: Массив записей

СообщениеДобавлено: 14.02.2014 21:08:09
crancv
Спасибо. Все получилось.