Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2016, 23:51   #1
kola1010
 
Регистрация: 03.11.2016
Сообщений: 6
По умолчанию Преобразовать массив так,что бы с начала располагались все положительные элементы, а потом все остальные

Усливие: Дан целочисленный массив размера n преобразовать его таким образом,что бы с начало располагались все положительные элементы,а потом все остальные.
kola1010 вне форума Ответить с цитированием
Старый 29.11.2016, 08:11   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Вспомогальный массив использовать можно?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.11.2016, 09:33   #3
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

порядка n шагов
Код:
a:=1;
b:=n;
while abs(b-a)<>1 do
  if m[a]>=0 then a:=a+1 else
    if m[b]<=0 then b:=b-1 else
      begin
        swap(m[a],m[b]);//меняем местами 
        a:=a+1;
        b:=b-1;
      end;
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль преобразовать массив таким образом чтобы сначала располагались все элементы целая часть которых не превышает единицу а потом все остальные Matvey Sadkov Паскаль, Turbo Pascal, PascalABC.NET 6 09.10.2016 15:52
C#массив Преобразовать чтобы сначала располагались все элементы, logikal Помощь студентам 2 28.04.2014 20:06
Из массива X(N) все положительные элементы записать в массив Y(k) Alexandr- Помощь студентам 7 15.04.2013 19:00
Преобразовать массив таким образом, чтобы сначала располагались элементы из интервала [a,b] , а затем все parka Паскаль, Turbo Pascal, PascalABC.NET 7 15.05.2011 22:17
Массивы на pascal (преобразовать массив так, чтобы сначала были единицы, а потом - все остальные) Mercial Помощь студентам 6 18.02.2011 22:07