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

STL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Течёт память рекой http://www.cyberforum.ru/cpp-beginners/thread552134.html
Не могу понять в чём проблема. Есть класс CControl, от него есть наследники CInput и CButton. Просто создание объектов типа CButton и CInput не возникает утечек памяти, использование функции Clone для получения копии объекта (и последующее освобождение памяти через delete) тоже проблем не возникает, а вот когда возникает необходимость хранить объекты наследники CControl в классе CWindow в списке...
C++ Системы счисления Задано положительное действительное число up в системе счисления с основанием p с фиксированной точкой, и основание q (p, q ≠ 2, 8, 10, 16). Требуется: 1. Перевести число up в систему счисления с основанием q (при проверке работы программы числа up и q задаются преподавателем). 2. Перевести число up в 32-разрядный двоичный код, после чего это число с по-мощью разбиения на тетрады (т.е. на... http://www.cyberforum.ru/cpp-beginners/thread552125.html
Списки: функции для работы со списками C++
Помогите пожааааааалуйста с задачками!!!! ;) ОПИШИТЕ ФУНКЦИИ ТИПОВЫХ ОПЕРАЦИЙ С СПИСКАМИ: 1. Функция AddHead (int d) добавление узла в голову списка; 2. Функция AddEnd (int d) добавление узла в конец списка; 3. Функция ShowList() вывод списка на экран; 4. Функция Search (int d) поиск узла с заданным значением в некотором поле данных; 5. Функция FindNode (int n) поиск узла с заданным...
C++ Итерационные циклы
Написать программу вычисления значения функции, заданной в виде ряда, с погрешностью епсилон> 0,0001 п(пи)=3+4*(1/2*3*4 - 1/4*5*6 + 1/6*7*8 -....) Напишите пожалуйста, нужно для будущего авиации)))
C++ Найти корень уравнения методом простой итерации http://www.cyberforum.ru/cpp-beginners/thread552109.html
Дано уравнение acos(x)-x2, корень нужно найти на интервале . Я уже пробовал много разных вариантов, но остановился на таком(он хоть что-то выдает). Правда результат не очень утешительный: Enter the beginning of segment -> -1 Enter the ending of segment -> 1 2.14159 -1.#INF -1.#IND -1.#IND Result = -1.#IND
C++ Вычислить определённый интеграл методом тропеций помогите пожалуйста ни как не пойму как реализовать вычисление интеграла подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.04.2012, 10:00     STL
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <list>
#include <iterator>
#include <algorithm>
 
namespace simple
{
 
template<class T>
class list
{
public:
   typedef typename std::list<T>::iterator iterator;
   typedef typename std::list<T>::const_iterator const_iterator;
 
   list():container()
   {
   }
   list(const std::initializer_list<T>& args):container(args)
   {
   }
   void insert(const T& value)
   {
      if (!container.empty())
      {
         auto up_bound = std::upper_bound(container.begin(), container.end(), value);
         if (up_bound != container.end())
         {
            container.insert(up_bound, value);
         }
         else
         {
            container.push_back(value);
         }
      }
      else
      {
         container.push_back(value);
      }
   }
   void erase(const T& value)
   {
      auto iter = std::find(container.begin(), container.end(), value);
      if (iter != container.end())
      {
         container.erase(iter);
      }
   }
   iterator begin() { return container.begin(); }
   iterator end() { return begin(); }
   const_iterator begin() const { return container.cbegin(); }
   const_iterator end() const { return begin(); }
private:
   template<class T2>
   friend std::ostream& operator << (std::ostream&, const list<T2>&);
   std::list<T> container;
};
 
template<class T>
std::ostream& operator << (std::ostream& os, const list<T>& lst)
{
   std::copy(lst.container.begin(), lst.container.end(), std::ostream_iterator<T>(os, "\n"));
   return os;
}
 
}
 
int main()
{
   simple::list<int> lst;
   lst.insert(10);
   lst.insert(9);
   lst.insert(8);
   lst.insert(20);
   lst.insert(5);
   std::cout << lst;
   lst.erase(8);
   lst.erase(5);
   std::cout << "after erase" << std::endl;
   std::cout << lst;
}
Кроме кольца. Насколько я понимаю для правильной закольцованности списка придется переопределять итераторы.

Добавлено через 56 секунд
http://liveworkspace.org/code/75084c...60eb36a16ebd75
 
Текущее время: 11:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru