![]() |
|
Модераторы: bsa |
![]()
|
|
| Wolandello |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 17.5.2009 Где: Ukraine Репутация: нет Всего: нет |
Всем привет. Подскажите пожалуста идеи. Дано стек, разработать функцию, которая формирует два новых стеки: первая содержит числа из исходного стека с нечетными номерами, а второе - с четными
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
и в чём проблема?
создаёшь 2 новых стека. из старого стека извлекаешь элементы и в зависимости от чётности заносишь в один из новых стеков. |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 3 Всего: 23 |
zim22, единственная проблема - узнать какой элемент: четный или нет, если нумерация от начала, а не от конца (если не знать номер элемента и извлекать только с конца, как и положено стеку).
|
|||
|
||||
| Deliverance |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 2.12.2007 Где: Украина,Донецк Репутация: нет Всего: нет |
Узнать очень просто. Делим ( №эл.%2) по остатку,если остаток не 0 то нечётный,в противном случае чётный. Если б я ещё знал как со стеками работать,может я и сказал бы) Сорри,я предпологал ,что проблема именно с определение чётности Это сообщение отредактировал(а) Deliverance - 26.9.2009, 22:20 |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 3 Всего: 23 |
А как мы узнаем №эл. кроме того как перебрать весь стек, если номер элемента не заносится в стек? Добавлено через 9 минут и 12 секунд хотя задача еще сложнее. нужно как я понимаю заполнить новые стеки с начала а не с конца. т.е. в тупую операцией pop не обойтись. или ее применить еще раз для промежуточного нового стека, и потом для второго/третьего Это сообщение отредактировал(а) ИванМ - 26.9.2009, 22:01 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Deliverance, стек - это такая очередь, которая работает по принципу FILO (First In Last Out - первым пришел, последним уйдешь).
По теме. Зная размер стека можно узнать, четный ли последний элемент или нет. Соответственно дело одного цикла переместить (в задаче не сказано сохранить содержимое исходного стека) элементы в нужные стеки. Если данные нужно сохранить, то тут придется использовать уже дополнительный стек, в который надо будет копировать данные считанные из исходного, а затем вторым циклом вернуть их обратно (в итоге порядок следования восстановится). |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |