Ребят, кто может помочь с паскалем?

Ребят, кто может помочь с паскалем?
Есть некий вещественный заполненный массив из 50 чисел. Необходимо преобразовать его таким образом чтобы сначала шли положительные числа, а потом отрицательные (0 отнести к положительным).

  • Идешь с начала массива до первого отрицательного числа, затем с конца до первого положительного. Если еще не сошелся - меняешь местами и идешь дальше.
  • const n=50;
    var i,j:integer; b:real; a:array[1..n]of real;
    begin
    randomize; for i:=1 to n do a[ i]:=-25+50*random;
    for i:=1 to n do write(a[ i]:8:2); writeln;
    j:=1; for i:=1 to n do if a[ i]>=0 then
    begin b:=a[ i]; a[ i]:=a[ j]; a[ j]:=b; inc(j) end;
    for i:=1 to n do write(a[ i]:8:2); writeln; readln
    end.
  • Можно просто отсортировать массив по убыванию