Подскажите пожалуйста...нужно отсортировать 2 массив по двум ключам)но при написание Qsort - а сравнить два ключа он не захотел...нужно отсортировать по ключу Х, и при равенстве первее в массиве ставится тот у которого ключ У больше)Подскажите в чем ошибка)
function comp(i, j : integer): boolean;
begin
comp := false;
if (x[i] < x[j]) then
comp := true else
if (x[i] = x[j]) and (y[i] > y[j]) then
comp := true;
end;
procedure qsort(l, r : longint);
var
m, t, i, j : int;
begin
i := l; j := r;
m := random(r - l + 1) + l;
repeat
while comp(i, m) do inc(i);
while comp(m, j) do dec(j);
if i <= j then begin
swap(x[i], x[j]);
swap(y[i], y[j]);inc(i);dec(j);
end;
until i > j;
if i < r then qsort(i, r);
if l < j then qsort(l, j);
end;
x[VeryBig] := x[m];
y[VeryBig] := y[m];
m := VeryBig;
где VeryBig, это «служебный» элемент массива, который не должен больше нигде использоваться и/или изменяться, кроме как тут.