Народ, тут случайно никто в с++ не шарит? если есть такие то )) разработать функцию удаления из очереди всех положительных элементов.

Dashka250715 Dashka250715    3   01.10.2019 09:50    1

Ответы
irishkakrasa irishkakrasa  09.10.2020 07:33

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <queue>

template <typename T>

void remove(std::queue<T> *q)

{

int *a = new int[q->size()];

int t = 0;

for (int i = 0; i < q->size(); i++)

{

 if (q->front() <= 0)

 {

  a[t] = q->front();

  t++;

 }

 q->pop();

}

for (int i = 0; i < t; i++)

 q->push(a[i]);

}

int main()

{

srand(time(NULL));

std::queue<int> q;

int l;

std::cin >> l;

for (int i = 0; i < l; i++)

{

 //создание очереди

 q.push(rand()%21-10);

 std::cout << q.back() << ' ';

}

remove(&q);

std::cout << std::endl;

for (int i = 0; i < q.size(); i++)

{

 //вывод очереди на экран

 std::cout << q.front() << ' ';

 q.pop();

}

return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика