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

program z_array;
uses crt;
type mass=array [1..100] of real;
var a:mass;
    i,n:byte;
procedure mPoem(var a:mass;n:byte);
var i,j,k:byte;
    temp:real;
begin
 k:=0;
 i:=1;
 while i+k <= n-1 do
 begin
  if a[i] < 0 then
  begin
   temp:=a[i];
   for j:=i to n-1 do
    a[j]:=a[j+1];
   a[n]:=temp;
   dec(i);
   inc(k);
  end;
  inc(i);
 end;
end;
begin
 clrscr;
 {Ввод размерности массива}
 writeln('Введите количество элементов массива');
 readln(n);
 {/Ввод размерности массива}
 writeln;
 {Ввод элементов массива}
 writeln('Введите элементы массива');
 for i:=1 to n do
 begin
  write('a[',i,']= ');
  readln(a[i]);
 end;
 {/Ввод элементов массива}
 writeln;
 writeln('Данный массив');
 {Вывод данного массива}
 for i:=1 to n do
  write(a[i]:7:2);
 {/Вывод данного массива}
 writeln;
 writeln;
 mPoem(a,n);
 writeln('Полученный массив');
 {Вывод полученного массива}
 for i:=1 to n do
  write(a[i]:7:2);
 {/Вывод полученного массива}
 readln;  
end.

Leave a Comment

7 + 2 =