Форум программистов, компьютерный форум CyberForum.ru

queue удаление из очереди - C++

Восстановить пароль Регистрация
 
женя777
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 37
18.11.2013, 20:20     queue удаление из очереди #1
Создать однонаправленную очередь с числами в диапазоне от –50 до +50.
Удалить из очереди все элементы, расположенные до минимального
элемента очереди.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>       
#include <queue>          
#include <conio.h>
int main ()
{
  std::queue<int> a;
  for(int i=-50;i<51;i++)
      a.push (i);
  int min=a.front();
  while (!a.empty())
  {
    if(a.front()<min)min=a.front();
    printf("%d ",a.front());
    a.pop();
  }
  _getch();
  return 0;
}
Я нахожу минимальный элемент, но как удалить все что было до него не представляю, подскажите.

Добавлено через 35 минут
!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
18.11.2013, 20:34     queue удаление из очереди #2
для начала, исходя из вашего задания и вашего кода, вы не до конца его сами поняли. подумайте над заданием еще раз

Добавлено через 4 минуты
подскажу. в вашем случае нечего удалять всегда
женя777
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 37
18.11.2013, 21:09  [ТС]     queue удаление из очереди #3
Цитата Сообщение от retmas Посмотреть сообщение
для начала, исходя из вашего задания и вашего кода, вы не до конца его сами поняли. подумайте над заданием еще раз

Добавлено через 4 минуты
подскажу. в вашем случае нечего удалять всегда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>       
#include <queue>          
#include <conio.h>
int main ()
{
  std::queue<int> a;
  for(int i=-50;i<51;i++)
      a.push (i);
  int min=a.front();
 
  while (!a.empty())
  {
    if(a.front()<min)a.pop();
  }
  while (!a.empty()){
      printf("%d ",a.front());
      a.pop();
  }
  _getch();
  return 0;
}
как я понял должно получиться, что-то подобное но выводится пустая строка (
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
18.11.2013, 21:22     queue удаление из очереди #4
у вас ничего не выводится.
у вас бесконечный цикл
C++
1
2
3
4
while (!a.empty())
{
    if(a.front()<min)a.pop();
}
а вообще могу повторить предыдущий свой пост)
Yandex
Объявления
18.11.2013, 21:22     queue удаление из очереди
Ответ Создать тему
Опции темы

Текущее время: 05:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru