Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с STL. Поменять vector на list - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как определить http://www.cyberforum.ru/cpp-beginners/thread294475.html
как определить программно,что человек допустим зашёл на диск f или g и тд?
C++ Создать класс, описание которого представлено в вариантах для работы Поможыть пліз з лабой!!!!!!!!! 1. Створити проект, який містить консольну програму Win32. 2. Створити клас опис якого подано у варіантах до роботи (a) Отримання кількості елементів які... http://www.cyberforum.ru/cpp-beginners/thread294474.html
Перейти в конец проги C++
Здравствуйте. Как можно в С или в С++ перейти в конец проги? Это типа endl в Паскале.
C++ Деревья-формулы
7. Формулу вида: < формула > ::= < терминал >(< формула > < знак > < формула >) < знак > ::= +  -  * < терминал > ::= 0123456789 можно представить в виде двоичного дерева (‘дерева...
C++ Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию http://www.cyberforum.ru/cpp-beginners/thread294453.html
Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию(в данном случае используется указатель на бинарный предикат).Иначе возвращает адрес arr+len. int equals(int...
C++ Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &struc1) { int i = 0; int j = 0; char buf ; char *pbuf = &buf; //<- вот... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
13.05.2011, 22:05
Только для vector и list. Для set надо по-другому.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <iostream>
#include <vector>
#include <list>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <iomanip>
 
typedef std::list<int> container;
 
template <typename T>
struct Random {
  T operator()() { return rand() % 10; }
};
 
template <typename T>
struct Multiplication {
  T operator()(T init, T next) { return init * next; }
};
 
template <class Container>
void sort(Container &container) {
  std::sort(container.begin(), container.end());
}
 
template <typename ValueType>
void sort(std::list<ValueType> &list) {
  list.sort();
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  container elements(5 + rand() % 3);
  std::generate(elements.begin(), elements.end(), Random<int>());
  sort(elements);
  std::copy(elements.begin(), elements.end(),
            std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
  std::cout << "Minimum: " << *std::min_element(elements.begin(),
               elements.end()) << std::endl
            << "Maximum: " << *std::max_element(elements.begin(),
               elements.end()) << std::endl            
            << "Arithmetic average: " << std::accumulate(elements.begin(),
                elements.end(), 0) / elements.size() << std::endl
            << "Geometric average: " << std::fixed
            << pow(std::accumulate(elements.begin(), elements.end(), 1,
               Multiplication<int>()), 1. / elements.size()) << std::endl;
  if (elements.size() % 2 == 0) {
    std::cout << "Length is even. Sorry." << std::endl;
  } else {
    container::iterator middle = elements.begin();
    std::advance(middle, elements.size() / 2);
    std::cout << "Middle element: "<< *middle
              << std::endl;
  }
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru