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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 17:32   #1
shilovec5377
Форумчанин
 
Аватар для shilovec5377
 
Регистрация: 29.06.2011
Сообщений: 117
Вопрос список

Всем привет! Помогите список преобразовать в два списка. Первый должен содержать только положительные числа, а второй – только отрицательные. Порядок следования чисел должен быть сохранен.
Код:
#include <iostream>
#include <queue>
#include <cstdlib>
 
int main() {
    
    std::queue<int> q;
    const int N = 10;
    
    for( int i=0; i<N; ++i )
    {
        q.push( rand() % 100 - 50 );
    }
    
    while( !q.empty() )
    {
        std::cout << q.front() << " ";
        q.pop();
    }
    
   return 0;
}
shilovec5377 вне форума Ответить с цитированием
Старый 04.06.2013, 18:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <iostream>
#include <queue>
#include <cstdlib>
 
int main() {
    
    std::queue<int> q,w;
    const int N = 10;
    
    for( int i=0; i<N; ++i )
    {
        int k=rand() % 100 - 50;
        if(k>0)  q.push( k ); else w.push(k);
    }
    
    for(; !q.empty();q.pop() ) std::cout << q.front() << " ";
    for(; !w.empty();w.pop() ) std::cout << w.front() << " ";

    
   return 0;
}
Это если не отходить далеко от твоего примера )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2013, 18:42   #3
shilovec5377
Форумчанин
 
Аватар для shilovec5377
 
Регистрация: 29.06.2011
Сообщений: 117
По умолчанию

спасибо за помощь, а как вывести исходный список?

Последний раз редактировалось shilovec5377; 04.06.2013 в 18:51.
shilovec5377 вне форума Ответить с цитированием
Старый 04.06.2013, 20:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Уже никак ) Учитывая pop().
Выводи его в том цикле что и вводишь, или не используй очередь. Используй vector и его iterator.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование, перемещение листа, выподающий список список albih Microsoft Office Excel 1 31.05.2012 12:49
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание Zigfried Помощь студентам 2 04.10.2010 20:29
связать список строк и список целых чисел lirikoff Помощь студентам 5 31.08.2010 13:23
Данные-проверка-список (список на другом листе) Inbox Microsoft Office Excel 7 26.12.2008 01:43