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

Создать stl очередь, заполнить ее случайным образом и отсортировать - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
nick07x
2 / 2 / 0
Регистрация: 21.03.2011
Сообщений: 55
09.05.2011, 20:00     Создать stl очередь, заполнить ее случайным образом и отсортировать #1
вопрос в заголовке, заранее спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 20:00     Создать stl очередь, заполнить ее случайным образом и отсортировать
Посмотрите здесь:

Создать матрицу А(nxn), сгенерировать елементы случайным образом C++
C++ Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы
Случайным образом заполнить двумерный массив (с++ помогите) C++
Матрицы: случайным образом заполнить разными целыми числами C++
C++ Задача по STL (Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип char)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
09.05.2011, 23:48     Создать stl очередь, заполнить ее случайным образом и отсортировать #2
Пример с двусторонней очередью. Односторонняя не имеет соответствующих итераторов.
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
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <deque>
 
class Random {
 public:
  explicit Random(int min = 0, int max = 100) : max_(max), min_(min) {}
  int operator()() { return rand() % (max_ - min_ + 1) + min_; }
 private:
  int max_;
  int min_;
};
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  std::deque<int> que(Random(10, 15)());
  std::generate(que.begin(), que.end(), Random());
  std::sort(que.begin(), que.end());
  std::copy(que.begin(), que.end(),
            std::ostream_iterator<int>(std::cout, " """));
  return 0;
}
nick07x
2 / 2 / 0
Регистрация: 21.03.2011
Сообщений: 55
10.05.2011, 06:19  [ТС]     Создать stl очередь, заполнить ее случайным образом и отсортировать #3
Спасибо. А можете комментарии добавить?
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
10.05.2011, 09:16     Создать stl очередь, заполнить ее случайным образом и отсортировать #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <deque>
 
// -- функтор для вычисления случайного числа.   
class Random {
 public:
  explicit Random(int min = 0, int max = 100) : max_(max), min_(min) {}
  int operator()() { return rand() % (max_ - min_ + 1) + min_; }
 private:
  int max_;
  int min_;
};
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  std::deque<int> que(Random(10, 15)());                // -- дек размером от 10 до 15 элементов
  std::generate(que.begin(), que.end(), Random());    // -- заполнение дека случайными числами
  std::sort(que.begin(), que.end());                         // -- сортировка дека
  std::copy(que.begin(), que.end(),                           // -- вывод дека в поток вывода (на консоль)
            std::ostream_iterator<int>(std::cout, " """));  // -- с помощью потокового итератора
  return 0;
}
Что еще непонятно?
nick07x
2 / 2 / 0
Регистрация: 21.03.2011
Сообщений: 55
11.05.2011, 21:08  [ТС]     Создать stl очередь, заполнить ее случайным образом и отсортировать #5
все понятно, спасибо.
Yandex
Объявления
11.05.2011, 21:08     Создать stl очередь, заполнить ее случайным образом и отсортировать
Ответ Создать тему
Опции темы

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