Другие языки программирования и технологии

Помогите с задачкой на Pascal'e (МАССИВЫ)!

есть 2 массива чисел (x,y они задают координаты - каждому x соответствует y) Один из них я сортирую по возрастанию, что мне нужно сделать со 2ым чтобы не потерять изначальное соответствие? (напишите плис код или киньте идейку)
Доброго времени суток.

Вариантов несколько. Наиболее простой, это действительно записи. Второй вариант, это при перестановке элементов одного массива, одновременно переставлять и элементы другого. И третий, это объявить еще один массив в котором элементами будут индексы и сортировать эти индексы. Например, так.

const
N = 10; {размерность массива}
var
Arr : array [1..N] of Integer; {массив чисел}
Idx : array [1..N] of Integer; {массив индексов}
i,j : Integer;
T : LongInt;

begin
ClrScr;
Randomize;

{заполним массивы}
for j:=1 to N do begin
Arr[j] := Random(20);
Idx[j] := j;
Write(Arr[j],' '); {вывод элемента массива для контроля}
end;
WriteLn;

{сортировка по возрастанию пузырьком элементов индексного массива}
for i := 1 to N do
for j:=1 to N-i do begin
if Arr[Idx[j]] > Arr[Idx[j+1]] then begin {если текущий элемент больше следующего переставим их индексы}
T := Idx[j]; {сначала сохраним индекс в промежуточной переменной}
Idx[j] := Idx[j+1]; {переставляем индексы}
Idx[j+1] := T; {восстанавливаем значение}
end;
end;

for j := 1 to n do Write(Arr[Idx[j]],' '); {вывод отстртированного массива}

ReadLn;
end.

Если в начале имелось однозначное соответсвие между двумя первыми массивами, то после сортировки индексов оно не нарушится.

Удачи!
Женя Грис
Женя Грис
59 612
Лучший ответ
А что если сделать массив структур (record в паскале) с двумя полями каждая (x, y) и сортировать по одному из полей
Вадим Дёмин
Вадим Дёмин
2 437