Перенести отрицательные элементы в конец массива
Категория: Delphi/Pascal
2011-08-20 13:56:39
Дан одномерный массив из n элементов. Необходимо перенести отрицательные элементы в конец массива.
code: #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.
Поделиться: