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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ как определить http://www.cyberforum.ru/cpp-beginners/thread294475.html
как определить программно,что человек допустим зашёл на диск f или g и тд?
C++ Создать класс, описание которого представлено в вариантах для работы Поможыть пліз з лабой!!!!!!!!! 1. Створити проект, який містить консольну програму Win32. 2. Створити клас опис якого подано у варіантах до роботи (a) Отримання кількості елементів які зберігаються в класі. c) Додавання елементу (для вектору в кінець,). d) Видалення вмісту класу.). Реалізувати конструктор за замовчуванням, конструктор копіювання, деструктор класу. 3. Для всіх варіантів... http://www.cyberforum.ru/cpp-beginners/thread294474.html
Перейти в конец проги C++
Здравствуйте. Как можно в С или в С++ перейти в конец проги? Это типа endl в Паскале.
C++ Деревья-формулы
7. Формулу вида: < формула > ::= < терминал >(< формула > < знак > < формула >) < знак > ::= +  -  * < терминал > ::= 0123456789 можно представить в виде двоичного дерева (‘дерева – формулы ‘): - формула из одного терминала (цифры) представляется деревом из одной вершины (корнем) с этим терминалом; - формула вида ( f1 s f2 ) - деревом, в котором корень – это знак s, а левое...
C++ Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию http://www.cyberforum.ru/cpp-beginners/thread294453.html
Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию(в данном случае используется указатель на бинарный предикат).Иначе возвращает адрес arr+len. int equals(int a,int b) { return (a==b); } int * Find(int * Arr,int len,int k,int (*pfun(int,int))) //k-заданное число,с которым сравниваем { int i; for (i=0;i<len;i++) if(pfun(k,Arr)) { ...
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; //<- вот сюда указывает. char buf1 ; подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
13.05.2011, 22:05     Работа с STL. Поменять vector на list
Только для 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;
}
 
Текущее время: 17:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru