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

Работа со стандартной библиотекой List.H - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Немного подправить код с наследованием (С++) http://www.cyberforum.ru/cpp-beginners/thread535832.html
.cpp файл #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> #include <iostream> #include "5header.h" Point :: Point (float iX, float iY) {
C++ переписать в одномерный массив ненулевые элементы и найти наибольшее по модулю Из матрицы В(4,4) переписать в одномерный массив С ненулевые элементы и найти наибольшее из них по модулю Не знаю как переисывать из массива в массив помогите ребят http://www.cyberforum.ru/cpp-beginners/thread535830.html
C++ Нахождение кратчайшего пути между 2 вершинами
написал программу по алгоритму флойда получаю 2 матрицы (на картинке) веса кратчайшего пути и матрица предков, как написать нахождение кратчайшего пути между 2 вершинами? помогите пожалуйста...
C++ Вычислить сумму чисел нацело делящихся на 5
С помощью цикла while разработать программу, которая будет вычислять сумму чисел нацело делящихся на 5. Цикл задать от 0 до введенного с клавиатуры числа. #include <iostream> using namespace std; int main() { int count = 0; int a; int summ = 0;
C++ Удалить лишние пробелы http://www.cyberforum.ru/cpp-beginners/thread535807.html
Вводится строка произвольного текста. Вывести на экран второе слово(слова разделены пробелами) Программа работает, но нужно при вводе удалять лишние пробелы #include <iostream> #include <string> using namespace std; int main() { int n=0, k=0; string str;
C++ Как создать массив состоящий из компонентов edit->text Здравствуйте, при набирании судоку, вылезла проблема, нужно наполнить двумерный массив случайными цифрами, но при его заполнении нужно сравнивать с уже заполненными столбцами, что бы не было повторов, и тут уже вылезает сама проблема, условие раздувается до приличных размеров, и-за того, что строку Form1->Edit1->Text нельзя вставить в цикл, вот и нужно переопределить 81 компонент edit... подробнее

Показать сообщение отдельно
Chertenok_n_13
 Аватар для Chertenok_n_13
203 / 109 / 39
Регистрация: 14.03.2011
Сообщений: 503
01.04.2012, 22:55  [ТС]     Работа со стандартной библиотекой List.H
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
/*------------------------------------------------------------------------*/
/*                                                                        */
/*  LIST.H                                                                */
/*                                                                        */
/*  Copyright Borland International 1991, 1992                            */
/*  All Rights Reserved                                                   */
/*                                                                        */
/*------------------------------------------------------------------------*/
 
#if !defined( __LIST_H )
#define __LIST_H
 
#if !defined( __MEMMGR_H )
#include <MemMgr.h>
#endif  // __MEMMGR_H
 
#if !defined( __COLLECT_H )
#include <Collect.h>
#endif  // __COLLECT_H
 
#pragma option -Vo-
#if defined( __BCOPT__ ) && !defined( _ALLOW_po )
#pragma option -po-
#endif
 
_CLASSDEF(List)
_CLASSDEF(ListIterator)
 
class _CLASSTYPE ListBlockInitializer
{
 
protected:
 
    ListBlockInitializer();
    ~ListBlockInitializer();
 
    static unsigned count;
 
};
 
class _CLASSTYPE List : public Collection, private ListBlockInitializer
{
 
public:
 
    List() :
        headEntry( 0, &tailEntry ),
        tailEntry( 0, &tailEntry ),
        head(&headEntry),
        tail(&tailEntry),
        itemsInContainer(0)
        {
        }
 
    virtual ~List()
        {
        flush();
        }
    
    Object _FAR & peekHead() const
        {
        return ptrToRef(head->next->data);
        }
 
    void add( Object _FAR & );
    virtual void detach( Object _FAR &, DeleteType = NoDelete );
    virtual void flush( DeleteType = DefDelete );
 
    virtual int isEmpty() const
        {
        return itemsInContainer == 0;
        }
 
    virtual countType getItemsInContainer() const
        {
        return itemsInContainer;
        }
 
    virtual ContainerIterator _FAR & initIterator() const;
 
    virtual classType isA() const
        {
        return listClass;
        }
 
    virtual char _FAR *nameOf() const
        {
        return "List";
        }
 
private:
 
    class _CLASSTYPE ListElement
    {
 
    public:
 
        ListElement( Object _FAR *o, ListElement _FAR *n = 0 )
            {
            data = o; next = n;
            }
 
    private:
 
        ListElement _FAR *next;
        Object _FAR *data;
 
        void _FAR *operator new( size_t sz )
            {
            PRECONDITION( mgr != 0 );
            return mgr->allocate( sz );
            }
        void operator delete( void _FAR *b )
            {
            PRECONDITION( mgr != 0 );
            mgr->free( b );
            }
 
        static MemBlocks _FAR *mgr;
 
        friend class List;
        friend class ListIterator;
        friend class ListBlockInitializer;
 
    };
 
    ListElement _FAR *head;
    ListElement _FAR *tail;
 
    ListElement headEntry, tailEntry;
 
    unsigned itemsInContainer;
 
    ListElement _FAR *findPred( const Object _FAR & o );
 
    friend class ListIterator;
    friend class ListBlockInitializer;
 
};
 
inline ListBlockInitializer::ListBlockInitializer()
{
    PRECONDITION( count != UINT_MAX );
    if( count++ == 0 )
        List::ListElement::mgr = 
            new MemBlocks( sizeof(List::ListElement), 20 );
}
 
inline ListBlockInitializer::~ListBlockInitializer()
{
    PRECONDITION( count != 0 );
    if( --count == 0 )
        {
        delete List::ListElement::mgr;
        List::ListElement::mgr = 0;
        }
}
 
class _CLASSTYPE ListIterator : public ContainerIterator
{
 
public:
 
    ListIterator( const List _FAR & );
    virtual ~ListIterator();
 
    virtual operator int();
    virtual Object _FAR & current();
    virtual Object _FAR & operator ++ ( int );
    virtual Object _FAR & operator ++ ();
    virtual void restart();
 
private:
 
    List::ListElement _FAR *currentElement;
    List::ListElement _FAR *startingElement;
};
 
inline ListIterator::ListIterator( const List _FAR & toIterate )
{
    startingElement = currentElement = toIterate.head->next;
}
 
#if defined( __BCOPT__ ) && !defined( _ALLOW_po )
#pragma option -po.
#endif
#pragma option -Vo.
 
#endif  // __LIST_H
 
Текущее время: 22:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru