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

Ответы 1

  • #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;

    }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years