Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ ОдНоМеРнЫй массив

Автор: suchok 20.05.2007 20:00

добрый день!
у меня имеется вот такое задание :
В одномерном массиве все отрицательный элементы переместить в начало массива, а остальные- в конец с сохранением порядка следования. ДОПОЛНИТЕЛЬНЫЙ массив заводить НЕ РАЗРЕШАЕТСЯ.
Вопрос:
1)Как можно реализовать данный алгоритм без использования дополнительных массивов.

И как я понимаю использовать алгоритмы сортировки тоже не получится т.к изменится порядок следования элементов.
Напишите хотябы сам принцип работы программы

ps В поиске ни чего не нашел подобного.

Автор: compiler 20.05.2007 20:07

я это вижу так..
проходим по массиву, находим первый отрицательный элемент сохраняем его в отдельную переменную, сдвиг-все до найденного елемента на один, в первый(или нулевой, смотря на реализацию) записываем найденный елемент, идем по вектору дальше...

Автор: suchok 20.05.2007 21:09

теперь проблема вот в чем. Мне нужно запомнить отрицательный элемент в переменную потом надо сдвинуть все элементы которые были до отрицательного на 1 элемент те элемент который был до него должен занять его место как это сделать вот в чем главный вопрос.

Автор: compiler 20.05.2007 21:23

наверно нужно еще запоминать индекс найденного элемента и тогда все в цикле от начала до индекса...