Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 31.08.2011
Сообщений: 15
1

Переставить члены последовательности так, чтобы сначала расположились все ее неотрицательные члены

16.10.2011, 12:58. Показов 1592. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить задачу!
:cofee2:
Дана очередь, элементами которой являются действительные числа. Переставить ее члены так, чтобы сначала расположились все ее неотрицательные члены, а потом - все отрицательные. Порядок как среди неотрицательных членов, так и среди отрицательных должен быть сохранен прежним. Для временного хранения неотрицательных и отрицательных элементов использовать стеки. Значения элементов очереди до и после перестановки вывести на экран.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2011, 12:58
Ответы с готовыми решениями:

Переставить члены последовательности так, чтобы сначала расположились все ее неотрицательные члены
Помогите пожалуйста решить задачу!!! Экзамен горит.... Выручайте!!! Дана очередь, элементами...

Переставить члены последовательности так, чтобы сначала расположились все неотрицательные
Помогите пожалуйста. Задан массив действительных чисел. Переставить члены последовательности так,...

Переставить очередь, чтобы сначала расположились все ее неотрицательные члены, а потом — все отрицательные
Помогите написать код, пожалуйста! :wall: Составить очередь, элементами которой являются...

Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены
упорядочить одномерный массив таким образом,чтобы сначала ии упорядоченные положительные члены а...

1
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24
16.10.2011, 17:54 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Идея: имеем исходный очередь q с числами и два дополнительных pos и neg для положительных и отрицательных чисел. Описываю в общепринятых обозначениях в предположении, что структуры стека и очереди описаны.
1. Пока q не пуст:
2. Вытаскиваем первый элемент очереди element:=q.next;
3. Проверяем на неотрицательность (переходим к п.4 и п.5 соответственно) if element>0 then
4. (Если положительный) Добавляем положительное число в соотв. стек pos.push(element)
5. (Если отрицательный) Добавляем отрицательное число в соотв. стек neg.push(element)
6. Когда q станет пустым, начинаем добавлять в него элементы в правильном порядке.
Тут один момент есть: в стеках сверху находятся элементы, которые в очереди были ближе к концу.
Они будут извлекаться из стека в первую очередь (т.е. в приоритете). В очередь же мы добавляем по-порядку. А это значит, что вот просто так не получиться взять и "перегнать" сначала из одного стека в очередь, а потом из второго в один заход, поскольку порядок отрицательных (и положительных) элементов будет инвертирован. Стало быть, необходимо сделать одну из трех вещей:
1. Если очередь организована массивом, объявить очередь стеком и затолкать в нужном порядке элементы.
2. Инвертировать оба стека, затем добавить элементы в очередь.
3. Добавить элементы в очередь, затем инвертировать очередь.

Под "добавить элементы со стеков в очередь" я подразумеваю (с точностью до порядка 2 и 3 строки)
Delphi
1
2
3
q.clear;
while not pos.isEmpty do q.add(pos.pop);
while not neg.isEmpty do q.add(neg.pop);
Идею описал подробно, попробуй самостоятельно её реализовать; если не получится, опиши, что не получается (объявить структуры данных / описать взаимодействия и т.п.)
0
16.10.2011, 17:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2011, 17:54
Помогаю со студенческими работами здесь

Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены
1 упорядочить одномерный массив таким образом,чтобы сначала ии упорядоченные положительные члены...

Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены
упорядочить одномерный массив таким образом,чтобы сначала шли упорядоченные положительные члены а...

Переставить элементы массива так, чтобы в начале массива расположились все его неотрицательные элементы
Дан массив а1,а2,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его...

Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные
Помогите плиз написать программу: Дан массив а1,а2,,…,аn. Переставить его элементы так, чтобы в...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru