Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
oneshotgame
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 5
#1

Переместить элементы массива так, чтобы в конце массива были все отрицательные числа

08.10.2012, 23:44. Просмотров 1124. Ответов 2
Метки нет (Все метки)

Дан массив. Переместить его элементы таким образом, чтобы в конце массива были все отрицательные числа, сохранив при этом начальный порядок следования отдельно для и отрицательных и отдельно для нулевых и положительных элементов.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 23:44
Ответы с готовыми решениями:

Как сделать, чтобы элементы динамического массива, которые равны 0, были размещены в конце массива?
Нужно упорядочить массив по возрастанию и сделать, чтобы элементы, которые...

Массив: переставить элементы таким образом, чтобы сначала были записаны все положительные, затем все отрицательные, а потом все нули.
Здравствуйте! помогите пожалуйста с задачей по информатике. Буду очень...

*. В файле из вещественных чисел переставить элементы таким образом, чтобы сначала были записаны все положительные, затем все отрицательные, а потом
Помогите с задачей! Видел подобное решение в нижестоящей теме но оно слишком...

TabControl - сделать так, чтобы на первой странице были одни элементы, а на другой были другие элементы
Есть tabControl. Хочу сделать так, чтобы на первой странице были одни элементы,...

Заполните одномерный массив так, чтобы все его элементы были различны
Помогите решить задачу пожалуста. На Turbo Delphi Заполните одномерный массив...

2
vetal20600
19 / 20 / 2
Регистрация: 19.04.2012
Сообщений: 181
09.10.2012, 00:07 #2
oneshotgame, идеш по массиву, находиш отрицательный элемент - записываешь его в первый дополнительный массив, находиш положительный элемент - записываешь его во второй дополнительный массив. Потом сливаешь в основной массив данные с первого и второго дополнительных массивов...
1
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25957 / 17404 / 6903
Регистрация: 22.10.2011
Сообщений: 30,643
Записей в блоге: 6
09.10.2012, 17:25 #3
Лучший ответ Сообщение было отмечено oneshotgame как решение

Решение

vetal20600, это еще зачем? Два доп. массива, чтобы только лишний раз не думать. Это ж элементарная пузырьковая сортировка. Только условие, при котором элементы будут меняться местами - не Aj-1 < Aj, а (Aj-1 < 0) and (Aj >= 0), тогда после окончания цикла элементы массива будут упорядочены именно так, как требуется: в конце - все отрицательные, причем их порядок сохраняется, поскольку между собой они местами не меняются, только с неотрицательными. А в начале - все неотрицательные, тоже в изначальном порядке друг относительно друга.

Вот так:
Delphi
1
2
3
4
5
6
  for i := 1 to n do
    for j := n downto i + 1 do
      if (ar[j - 1] < 0) and (ar[j] >= 0) then
      begin
        T := ar[j - 1]; ar[j - 1] := ar[j]; ar[j] := T
      end;
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 17:25

Заполнить одномерный массив так, чтобы все его элементы были различны и выбраны случайным образом
В Delphi создать консольные приложения (File-New-Console Application) для...

Записать во второй массив сначала все положительные элементы, затем нули и в конце — отрицательные элементы
Дан массив из 10 элементов. Записать во второй массив сначала все положительные...

Все отрицательные элементы массива X перенести в его начало, а все остальные — в конец
Нужна помощь в доработке программы. Delphi формы: После того как я ввел числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru