C/C++

Задача паскаль: упорядочить массивы

Помогите пожалуйста
Если сортировка пузырьком подойдёт, тогда можно так:
var i, j, k, l, m: integer;
a: array [1..10] of integer;
oddind, evenind: array of integer;
procedure print();
begin
for i := 1 to 10 do write(a[i], ' ');
writeln()
end;
begin
k := 0;
l := 0;
randomize();
for i := 1 to 10 do a[i] := random(31);
print();
for i := 1 to 10 do
if odd(a[i]) then
begin
setlength(oddind, k + 1);
oddind[k] := i;
k := k + 1
end
else
begin
setlength(evenind, l + 1);
evenind[l] := i;
l := l + 1
end;
if k > 1 then
begin
for i := 1 to k - 1 do
for j := k - 1 downto i do
if a[oddind[j - 1]] < a[oddind[j]] then
begin
m := a[oddind[j - 1]];
a[oddind[j - 1]] := a[oddind[j]];
a[oddind[j]] := m
end
end;
if l > 1 then
begin
for i := 1 to l - 1 do
for j := l - 1 downto i do
if a[evenind[j - 1]] > a[evenind[j]]
then
begin
m := a[evenind[j - 1]];
a[evenind[j - 1]] := a[evenind[j]];
a[evenind[j]] := m
end
end;
print()
end.
Тут сначала генерируется рандомный массив и выводится на экран. Потом генерируются массивы индексов нечётных и чётных элементов. В двух последних циклах идёт необходимая сортировка, после чего преобразованный массив снова выводится на экран.
АЛ
Андрей Любименко
66 572
Лучший ответ
Айнабек Серикович выдает ошибку с циклом for