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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2016, 10:44   #1
Anytka99
Пользователь
 
Аватар для Anytka99
 
Регистрация: 29.04.2016
Сообщений: 30
По умолчанию Массив в Pascal

Превратить массив X по следующему правилу: все отрицательные элементы массива перенести в начало, а все остальные - в конец, сохраняя исходное взаимное расположение, как среди отрицательных, так и среди других элементов.
Anytka99 вне форума Ответить с цитированием
Старый 03.05.2016, 10:50   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

тоже есть работающая программа на с++, но ты её показать не можешь, хотя она честно-честно работает?))
GreenWizard вне форума Ответить с цитированием
Старый 03.05.2016, 12:09   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если не стоит задача оптимального решения, то я бы банально воспользовался дополнительным массивом (см. готовое решение - в теме Сформировать одномерный массив, элементами которого являются все положительные элементы исходного массива...:

Если это решение не устраивает, пишите, придумаем другое решение.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.05.2016, 15:27   #4
Anytka99
Пользователь
 
Аватар для Anytka99
 
Регистрация: 29.04.2016
Сообщений: 30
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
тоже есть работающая программа на с++, но ты её показать не можешь, хотя она честно-честно работает?))
Зачем в тему зашли?
Anytka99 вне форума Ответить с цитированием
Старый 03.05.2016, 15:57   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Anytka99, прошу Вас, не надо разводить флейм.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.05.2016, 16:48   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Код:
{$TELEPATOR_MODE ON}
{$MESSAGE 'do not copy this code! bugs inside!'}

function FuckTheArray(var x: array of int32): int32;
var
  idx: int32;
begin
  Result:= 0;
  for idx:= 0 to Length(x) - 1 do
    if x[idx] < 0
      then begin
             x[idx]:= x[idx] xor x[Result];
             x[Result]:= x[Result] xor x[idx];
             x[idx]:= x[idx] xor x[Result];
             inc(Result);
           end;
end;

{$TELEPATOR_MODE OFF}
Бугага!!! (зловеще)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 03.05.2016, 20:13   #7
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Код:
......
Бугага!!! (зловеще)
не-не-не, уныло! предлагаю так:
Код:
function SuperCool(const source: TDataSource): TDataSource;
begin
  result := source.where(x => x < 0).append(source.where(x => x >= 0));
end;
От ТС нужна только поддержка лямбд Паскалем и реализация TDataSource с остальными наворотами

P. s. кстати, вполне себе решение: заводим новый массив, копируем в него все отрицательные элементы, а потом положительные.... в новом массиве будет таки требуемый порядок элементов
GreenWizard вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать алгоритм, который реализует jagged массив (рваный массив с различной длиной строк), используя список списков (Pascal ABC) бабуся Помощь студентам 0 29.04.2013 00:07
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив Pascal Денис999 Помощь студентам 1 02.06.2010 12:39
Pascal Массив Денис999 Помощь студентам 2 02.06.2010 09:36
массив pascal neBu4kaMaXiM Помощь студентам 2 30.04.2010 16:54