В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Дополнительный массив заводить не разрешается.
Ответы
Ответ дал:
0
===== PascalABC.NET =====
begin
var a := ArrRandom(4, -10, 20);
a.Println;
// ищем j - позицию первого неотрицательного элемента
var j := -1;
for var i := 0 to a.High do
if a[i] >= 0 then // нашли
begin
j := i;
break
end;
if j > -1 then
begin
for var i := j + 1 to a.High do
if a[i] < 0 then
begin
for var k := i downto j + 1 do
Swap(a[k], a[k-1]);
j += 1;
if j >= a.High then break;
end;
a.Println
end
else
Println('Нет положительных элементов')
end.
Вас заинтересует
1 год назад
1 год назад
1 год назад
3 года назад
8 лет назад