Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на си

Даниил Карцев Ученик (111), на голосовании 1 год назад
Дан набор из 10 чисел. Создать две очереди: первая должна содержать все нечетные, а вторая — все четные числа из исходного набора (порядок чисел в каждой очереди должен совпадать с порядком чисел в исходном наборе). Вывести указатели на начало и конец первой, а затем второй очереди (одна из очередей может оказаться пустой; в этом случае вывести для нее две константы nil)
Голосование за лучший ответ
Arcaten Tangensov Ученик (116) 1 год назад
#include <iostream>
#include <deque>
using namespace std;


int main()
{
deque<int> m_chetnye;
deque<int> m_nechetnye;
int numbers[10];


for (int i = 0; i < 10; i++)
{
cin >> numbers[i];
}


for (int i = 0; i < 10; i++)
{
if (numbers[i] % 2 == 0)
m_chetnye.push_back(numbers[i]);
else
m_nechetnye.push_back(numbers[i]);
}
// ПОЛУЧЕНИЕ УКАЗАТЕЛЕЙ
// begin -> начало очереди (итератора), end -> конец очереди (итератора)
auto ch_begin = &*m_chetnye.begin();
auto ch_end = &*m_chetnye.end();


auto m_nech_begin = &*m_nechetnye.begin(); // получаем указатель на начало итератора
auto m_nech_end = &*m_nechetnye.end(); // получаем указатель на конец итератора
}
Похожие вопросы