давно
Старший Модератор
31795
6196
30.05.2008, 12:52
общий
это ответ
Здравствуйте, Хорост Андрей Викторович!
Вариант без использования дополнительного массива.
В начало массива смещаются только отрицательные, остальные (положительные и ноль) смещаются в конец массива.
Удачи!
Приложение:
uses crt;const n=15;type Ta=array[1..n]of integer;var a:Ta; b,c:integer;procedure change(var a:Ta;b,c:integer); var d:integer; begin while (a[c-1]>=0)and(c>b)do begin {перестановка элементов массива} d:=a[c]; a[c]:=a[c-1]; a[c-1]:=d; dec(c); end; for b:=1 to n do begin {только для подсветки отрицательных чисел} if a[b]<0 then textcolor(15); {вывод} write(a[b]:4); textcolor(7); end; writeln; end;begin {массив формируется случайно} randomize; for b:=1 to n do begin a[b]:=random(50)-25; {подсвечиваем отрицательные элементы} if a[b]<0 then textcolor(15); {выводим элемент} write(a[b]:4); textcolor(7); end; writeln; {сортировка массива} for b:=1 to n-1 do for c:=b+1 to n do if (a[b]>=0) and (a[c]<0)then change(a,b,c); ReadKey;end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.