Дан одномерный массив целых чисел. Расположить числа в массиве таким образом, чтобы вначале массива были бы все положительные числа, а в конце все отрицательные — Pascal(Паскаль)

program hnfd;

label 1;

var
  A: array [1 .. 100] of integer;
  i, j, n, p: integer;

procedure exchange(var A, b: integer);
var
  c: integer;
begin
  c := A;
  A := b;
  b := c;
end;

begin
  write('Vvedite RAZMER "N" massiva: ');
  readln(n);

  for i := 1 to n do
  begin
    write('A[', i, ']= ');
    readln(A[i]);
  end;

  writeln('ISXODNII massiv: ');
  for i := 1 to n do
    write(A[i], ' ');

  p := n;

  for i := 1 to p do
    if A[i] < 0 then
    begin
      for j := p downto i do
        if A[j] > 0 then
          exchange(A[i], A[j]);
    end;

  writeln;
  writeln;
  writeln('PREOBRAZOVANII massiv: ');
  for i := 1 to n do
    write(A[i], ' ');

  readln;

end.

Leave a Comment