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

Очередь С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
Серафим
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 20
12.02.2011, 09:43     Очередь С++ #1
Дан текстовый файл
Вводятся с клавы числа А и В
Надо вывести НА ЭКРАН СНАЧАЛА ВСЕ ЧИСЛА меньше А затем между А и В а затем больш В
это в С++ с помощью очереди
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2011, 09:43     Очередь С++
Посмотрите здесь:

C++ Очередь
Очередь C++
очередь C++
C++ Очередь в с++
C++ Очередь
Очередь C++
C++ Очередь

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
12.02.2011, 11:16     Очередь С++ #2
Используй приоритетную очередь, критерием будет величина числа,т.е. больше или меньше оно твоих А и В
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.02.2011, 11:57     Очередь С++ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <list>
#include <algorithm>
 
int main(int argc, char *argv[]) {
  std::list<int> numbers;
 
  // вместо чтения из файла заполняю рандомом
  // не хочу возиться с созданием файла
  srand(time(NULL));
  for (int i = 0; i < rand() % 90 + 10; ++i)
    numbers.push_back(rand() % 100);
 
  // вместо чтения, границы заполняются тем же рандомом
  int left = rand() % 70 + 10;
  int right = rand() % 70 + 10;
 
  std::cout << "List: " << std::endl;
  for (std::list<int>::iterator i = numbers.begin(); i != numbers.end(); ++i)
    std::cout << *i << " ";
  std::cout << std::endl;
  std::cout << "Left: " << left << ", right: " << right << "."
            << std::endl << std::endl;
 
  if (left > right) std::swap(left, right);
 
  for (std::list<int>::iterator i = numbers.begin(); i != numbers.end(); ++i)
    if (*i < left) std::cout << *i << " ";
  std::cout << std::endl;
  for (std::list<int>::iterator i = numbers.begin(); i != numbers.end(); ++i)
    if (*i >= left && *i <= right) std::cout << *i << " ";
  std::cout << std::endl;
  for (std::list<int>::iterator i = numbers.begin(); i != numbers.end(); ++i)
    if (*i > right) std::cout << *i << " ";
  std::cout << std::endl;
 
  return 0;
}
Yandex
Объявления
12.02.2011, 11:57     Очередь С++
Ответ Создать тему
Опции темы

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