В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
aleksejsmolyan
aleksejsmolyan
01.12.2022 17:03 •  Информатика

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

Ответ:
sisake
sisake
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;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?