Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
1 / 1 / 0
Регистрация: 08.07.2024
Сообщений: 30

x17lab: решил заняться исследованием алгоритмов и структур данных

30.11.2024, 19:38. Показов 16736. Ответов 94
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Создал тему в разделе новичков, т.к. это единственный раздел на форуме, который активен.

Я последнюю неделю пишу свою библиотеку для работы с алгоритмами и структурами данных. Я решил заняться полным исследованием алгоритмов и структур данных.

И хотя я на данный момент не знаю ничего , к примеру, о банальной сортировке пузырьком, но я скоро узнаю это.

Здесь будут мои вопросы по архитектуре, и проектированию алгоритмов.

Думаю, мне еще далеко до деревьев, и графов.

Мой код динамического массива (вектор), и да, я пока не устал пихать его в свои темы:
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
///
/// MindBlow.hpp
///
 
#ifndef MINDBLOW_GUARD
#define MINDBLOW_GUARD
 
#include <initializer_list>
#include <iostream>
#include <sstream>
 
 
template<typename MindBlowStreamType>
class MindBlow
{
public:
 
    /// <summary>
    /// Shortcut for a data type.
    /// </summary>
    using x17labMindStreamerT         = MindBlowStreamType;
 
    /// <summary>
    /// Shortcut for a pointer.
    /// </summary>
    using x17labMindStreamerPtrT      = x17labMindStreamerT*;
 
    /// <summary>
    /// Shortcut for a size.
    /// </summary>
    using x17labMindStreamerSizeTT   = size_t;
 
    /// <summary>
    /// Other definitions.
    /// </summary>
    #define x17labInline             inline
    #define x17labNoThrow            noexcept
    #define x17labThrow              throw
    #define x17labNullptr            nullptr
 
    /// <summary>
    /// Dynamically allocated (raw) array.
    /// </summary>
    x17labMindStreamerPtrT          x17labMindStreamerRAWRWX;
 
    /// <summary>
    /// Count of items (track counter).
    /// </summary>
    x17labMindStreamerSizeTT        x17labMindStreamerSynchro;
 
    /// <summary>
    /// Newly dynamically allocated array class with 1 single item, and it's default value is 1.
    /// </summary>
    explicit
    x17labInline
    MindBlow()
    {
        x17labDekTheRaw(1u);
    }
 
    /// <summary>`
    /// Newly dynamically allocated array class with given amount of items.
    /// </summary>
    /// <param name="Synchro">Count of items to initialize items.</param>
    explicit
    x17labInline
    MindBlow(x17labMindStreamerSizeTT Synchro)
    {
        x17labDekTheRaw(Synchro);
    }
 
    /// <summary>
    /// Newly dynamically allocated array class with initializer list in it.
    /// </summary>
    /// <param name="SuperNovaIL">Initializer list.</param> 
    explicit
    x17labInline
    MindBlow(std::initializer_list<x17labMindStreamerT> SuperNovaIL)
    {
        x17labDekTheRaw(SuperNovaIL.size());
 
        if ((SuperNovaIL.size()) <= (0u))
        {
            x17labThrow (std::invalid_argument("MindBlow:: invalid argument has been passed."));
        }
 
        decltype(x17labMindStreamerSynchro) ILIterator {0u};
        for (x17labMindStreamerT Picker : SuperNovaIL)
        {
            x17labMindStreamerRAWRWX[ILIterator++] = Picker;
        }
    }
 
    /// <summary>
    /// Destructor (deallocate and free memory used by this dynamically allocated array class).
    /// </summary>
    x17labInline
    ~MindBlow()
    {
        x17labEjector();
        x17labNullify();
    }
 
    /// <summary>
    /// Get the amount of items in this dynamically allocated array class.
    /// </summary>
    /// <returns>Amount of items.</returns>
    x17labInline
    x17labMindStreamerSizeTT x17labMindStreamerSynchrohronizer()
    {
        if ((x17labNull()) <= (0u))
        {
            x17labThrow (std::invalid_argument("x17labMindStreamerSynchrohronizer:: x17lab is fully zeroed."));
        }
 
        return (x17labMindStreamerSynchro);
 
    }
 
    /// <summary>
    /// Check dynamically allocated array is out of bounds (internal check).
    /// </summary>
    /// <param name="Synchro">Index to check.</param> 
    /// <returns>True if its in range.</returns>
    x17labInline
    bool x17labOverflow(x17labMindStreamerSizeTT Synchro)
    {
        if ((Synchro) >= (x17labMindStreamerSynchro))
        {
            x17labThrow (std::invalid_argument("x17labOverflow:: overflow has been detected."));
        }
        
        return (true);
    }
 
    /// <summary>
    /// Create dynamically allocated aray class with given amount of items,  provided in argument.
    /// </summary>
    /// <param name="x17labSynchro">Tracker of items.</param> 
    x17labInline
    void x17labDekTheRaw(x17labMindStreamerSizeTT Synchro) x17labNoThrow
    {
        x17labMindStreamerRAWRWX  = new (x17labMindStreamerT[Synchro])();
        x17labMindStreamerSynchro =  {Synchro};
    }
 
    /// <summary>
    /// Check if there are items in this dynamically allocated array class.
    /// </summary>
    /// <returns>True in case allocated array class has items.</returns>
    x17labInline
    bool x17labNull() x17labNoThrow
    {
        if ((x17labMindStreamerSynchro) <= (0u))
        {
            x17labThrow (std::invalid_argument("x17labNull:: Synchro has been nulled."));
        }
 
        return (true);
    }
 
    /// <summary>
    /// Check if there is an initialiizer list in this dynamically allocated array class.
    /// </summary>
    /// <param name="SuperNovaIL">Initializer list to perform the needed checks.</param> 
    /// <returns>True in case has an initializer list.</returns>
    x17labInline
    bool x17labSuperNovaILOverflow(std::initializer_list<x17labMindStreamerT> SuperNovaIL)
    {
        if ((SuperNovaIL.size()) <= (0u))
        {
            x17labThrow (std::invalid_argument("x17labSuperNovaILOverflow:: argument is out of range."));
        }      
 
        return (true);
    }
 
    /// <summary>
    /// Check if proveded dynamically allocated array and it's index is valid.
    /// </summary>
    /// <param name="MindStreamRaw">Dynamically allcated (raw) array to check.</param> 
    /// <param name="Synchro">Index to perform the needed checks.</param> 
    /// <returns>True in case array within the range.</returns>
    x17labInline
    bool x17labFlow(x17labMindStreamerPtrT MindStreamRaw, x17labMindStreamerSizeTT Synchro)
    {
        if ((MindStreamRaw) == (x17labNullptr) || (Synchro) <= (0u))
        {
            x17labThrow (std::invalid_argument("x17labFlow:: error has been detected."));
        }
 
        return (false);
    }
 
    /// <summary>
    /// Check if dynamically allocated array class has items in it.
    /// </summary> 
    /// <returns>True in case has items.</returns>
    x17labInline
    bool x17labIsAvailable() x17labNoThrow
    {
        if ((x17labMindStreamerSynchro) <= (0u))
        {
            x17labThrow (std::invalid_argument("x17labIsAvailable:: array has not items in it."));
        }
 
        return (true);
    }
 
    /// <summary>
    /// Assign item for this dynamically allocated array class to a provided one.
    /// </summary>
    /// <param name="StreamerValue">Value to set.</param>
    /// <param name="Synchro">Index to set.</param> 
    x17labInline
    void x17labYield(x17labMindStreamerT StreamerValue, x17labMindStreamerSizeTT Synchro)
    {
        if (x17labOverflow(Synchro))
        {
            x17labThrow (std::invalid_argument("x17labYield:: invalid argument."));
        }
 
        x17labMindStreamerRAWRWX[Synchro] = {StreamerValue};
    }
 
    /// <summary>
    /// Assign this dynamocally allocated array class to another array (raw).
    /// </summary>
    /// <param name="MindStreamerPtr">Raw array."</param>
    x17labInline
    void x17labYield(x17labMindStreamerPtrT MindStreamerPtr)
    {   
        if (x17labMindStreamerRAWRWX    == (x17labNullptr) ||
            MindStreamerPtr             == (x17labNullptr))
        {
            x17labThrow(std::invalid_argument("x17labYield:: invalid array."));
        }
 
        x17labMindStreamerRAWRWX = MindStreamerPtr;
    }
 
    // <summary>
    // Change the size of this dynamically allocated array class (raw array).
    // Allocate new buffer, and assign the new buffer to a raw array. 
    // </summary>
    // <param name="New">New size."</param>
    x17labInline
    void x17labShrinkify(x17labMindStreamerSizeTT New) x17labNoThrow
    {
        x17labMindStreamerPtrT MindStreamPtrNew = new x17labMindStreamerT[New]();
        if (MindStreamPtrNew != (x17labNullptr))
        {
            std::memcpy((MindStreamPtrNew), x17labMindStreamerRAWRWX, (x17labMindStreamerSynchro * sizeof(x17labMindStreamerT)));
            if (MindStreamPtrNew != (x17labNullptr))
            {
                x17labMindStreamerSynchro = New;
            }
        }
 
        x17labYield(MindStreamPtrNew);
 
        x17labEjector(MindStreamPtrNew);
        x17labNullify(MindStreamPtrNew);
    }
 
    /// <summary>
    /// Finds the summaty of all items in this dynamically allocated array class.
    /// </summary> 
    /// <returns>Summary of elements.</returns>
    x17labInline
    x17labMindStreamerSizeTT x17labSeekSummary() x17labNoThrow
    {
        x17labMindStreamerSizeTT Summary = {0u};
        for (x17labMindStreamerT (Picker) : x17labMindStreamerRAWRWX)
        {
            (Summary += (Picker));
        }
 
        return (Summary);
    }
 
    /// <summary>
    /// Check if this dynamically allocated array class is valid.
    /// </summary>
    /// <returns>True in case array is valid.</returns>
    x17labInline
    bool x17labIntegrity() x17labNoThrow
    {
        if (x17labMindStreamerRAWRWX != x17labNullptr)
        {
            x17labThrow(std::invalid_argument("x17labIntegrity:: invalid intergity."));
        }
 
        return (false);
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array using delete[] operator (internal).
    /// </summary>
    x17labInline
    void x17labEjector() x17labNoThrow
    {
        if (x17labMindStreamerRAWRWX != (x17labNullptr))
        {
            delete [] x17labMindStreamerRAWRWX;
        }
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array using delete[] operator.
    /// </summary>
    x17labInline
    void x17labEjector(x17labMindStreamerPtrT MindStreamerPtr) x17labNoThrow
    {
        if (MindStreamerPtr != (x17labNullptr))
        {
            delete [] MindStreamerPtr;
        }
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array class (internal). 
    /// </summary>
    x17labInline
    void x17labNullify() x17labNoThrow
    {
        x17labMindStreamerRAWRWX = (x17labNullptr);
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array class. 
    /// </summary>
    /// <param name="MindStreamerPtr">Raw."</param>
    x17labInline
    void x17labNullify(x17labMindStreamerPtrT MindStreamerPtr) x17labNoThrow
    {
        MindStreamerPtr = (x17labNullptr);
    }
 
    /// <summary>
    /// Print content by using console.
    /// </summary>
    x17labInline
    void x17labStringlyfi() x17labNoThrow
    {
        std::wstringstream WStreamStringlyfi{};
        for (decltype(x17labMindStreamerSynchro) SynchroIt{ 0u }; SynchroIt < x17labMindStreamerSynchro; SynchroIt++)
        {
            WStreamStringlyfi << "StreamerIdx: " << SynchroIt << " Value: " << x17labMindStreamerRAWRWX[SynchroIt] << " " << std::endl;
        }
 
        std::wcout << WStreamStringlyfi.str() << std::endl;
    }
};
 
#endif
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2024, 19:38
Ответы с готовыми решениями:

Отец решил заняться программированием
Здрасьте, посетители киберфорума, у меня вот такая вот ситуация. Мой отец (будет 40 лет в этом году) решил программированием заняться,...

Help me! Решил заняться веб-дизайном.
Привет! Я работаю преподавателем информатики в лицее. Решил заняться веб-дизайном. Программки нашёл, туториалы.. Ну, в общем не найду...

Решил заняться окраской корпусных и процессорных вентиляторов
Здравствуйте товарищи. Вот решил продолжить моддинг своего компьютера. На этот раз решил заняться окраской корпусных и процессорных...

94
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
06.12.2024, 12:08
Студворк — интернет-сервис помощи студентам
Куда тут ооп всунуть?
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
06.12.2024, 18:44
Цитата Сообщение от alexu_007 Посмотреть сообщение
Пятерок в 2011-м наверное еще не было, был Qt 4.8.
если память напрочь не отшибло тогда Trolltech был, основной размер сжирали QtCore.so и QtGUI.so, конечно всё это было преписано на xlib и никто его поделку на 400Мб на станок не ставил
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
06.12.2024, 22:57
----------------------------------------

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от XLAT Посмотреть сообщение
1. к вам приходит заказчик с чемоданом.
2. в чемодане три ляма евро.
Вам сколько лет, молодой человек?
А я старый человек. Я бывал в похожих ситуациях.
И всё бывает немного не так....



Добавлено через 20 минут
Цитата Сообщение от XLAT Посмотреть сообщение
никогда не поделите, ползунком
Несколько ползунков надо.
Могут появляться в зависимости от размера файла.
А вообще, так нормальные люди не делают.
Ни разу не видел, что бы сектора на винте, ползунками выбирали.

Добавлено через 8 минут
Map можно сделать. И ездить по ней.
(Клавишами.)
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
07.12.2024, 09:00
Цитата Сообщение от Наталья8 Посмотреть сообщение
Несколько ползунков надо.
Могут появляться в зависимости от размера файла.
А вообще, так нормальные люди не делают.
Ни разу не видел, что бы сектора на винте, ползунками выбирали.
При чем тут сектора, задача была файл поделить.
С точностью до байта - нужно число в окошке ручками вводить.
А слайдер и шкала - это красота, не более. Или приблизительное деление файла. А точное - в окошке. Смотря что нужно дяде с миллионом.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
07.12.2024, 11:41
Мапа - карта...
HEX редактор рисовать.
А в бильдере и компонент есть такой.
Уже сделано.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
07.12.2024, 11:56
Вообще у меня есть даже такой ползунок.
Он до верха доходит и вниз упадает.
Правда не байты считает а доли секунд.
filt_file(1).mp4
Сам изобретал.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
07.12.2024, 12:01
Только здесь нормальный человек, хрен чё поймёт. Не для нормальных.
Он ещё, когда обратно тянешь, то же самое делает.
SFML это.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//========================================================
                        if (isMove2) {//если можем двигать
                            sprite2.setColor(Color::Green);//красим спрайт в зеленый                 КРАЙНИЙ  ВЕРТИКАЛЬНЫЙ ДВИЖОК
                            if (pos.y - dY >= -2 && pos.y - dY <= win_height - 18) _position2 = win_height - (int)(pos.y - dY) - 20;//21 считает
                            if (_position2 < 0.0)_position2 = 0.0;//                                                    (если в координатах.)
                            // ------------------ Перескок в противоположную сторону (--Движок скачок Вверх --)
                            if (_pos_buf > 0.0 && pos.y - dY > win_height - 14)// 14 - не считает, но заползает вниз, для перескока вверх
                            {
                                _pos_buf -= win_height - 20; _position2 += win_height - 20; isMove2 = false; pos.y = 0.6 + dY;
                            }
                            // ------------------ Перескок в противоположную сторону (--Движ.скачок Вниз --)
                            else if (pos.y - dY < -6) { _pos_buf += _position2; _position2 = 0.f; isMove2 = false; pos.y = (win_height - 18) + dY; }
                            if (_pos_buf < 10.0)_pos_buf = 0.0;// 10.0 --- в буфере не должно быть ни хуя (первый заход)
                            if (_pos_buf == 0.0 && pos.y - dY > win_height - 18);// нижний стоп движка, когда ноль (буфер пуст)
                            else sprite2.setPosition(slider_vert, pos.y - dY);// Переставляем движок (не ниже нижнего уровня)
                            ret_size = 0;
                        }
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
07.12.2024, 12:34
clip_n(2).mp4
0
Just Do It!
 Аватар для XLAT
4219 / 2681 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
19.12.2024, 16:27
Цитата Сообщение от alexu_007 Посмотреть сообщение
ползунок
Цитата Сообщение от CoderHuligan Посмотреть сообщение
До байта надо?
пример с ползунком был выбран спецом для НатальиБ,
потому что он делает для меня резак.

смысл резака - разрезать файл по указателю ползунка.

файл в данном контексте это видео ~100'000 кадриков.
ползунок нужно выставить точно на кадрик.

....

Цитата Сообщение от Наталья8 Посмотреть сообщение
Несколько ползунков надо.
как вам будет угодно,
но можно придумать и один, но инновационный
это когда ползунок нелинейно логарифмически динамичный отвязанный от указателя))
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
19.12.2024, 16:49
Цитата Сообщение от XLAT Посмотреть сообщение
файл в данном контексте это видео ~100'000 кадриков.
Значит надо видеть отдельные кадры в процессе перемещения, причем ступенями например по 100 кадров. а в отдельном окошке будет высвечиваться список кадров.
1
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
20.12.2024, 03:43
mp4-h264.
Изображение есть только на ключевых кадрах.
На остальных есть только изменение между кадрами. Выглядит мерзко.
Раскодируеться покадрово с переду на зад. А не наоборот.
Расстояние между ключевыми кадрами задаёт кодировщик.
Чем реже они, тем лучше сжато видео.
Воткнуть в любой кадр не получиться.
При чём там ползунок? Восприятие однозначно перемещаеться по ключевым кадрам.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
20.12.2024, 03:45

Вот эти функции втыкают.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
20.12.2024, 04:09
https://rrrroverflow.com/quest... -seek-file
C++
1
2
3
// С таким флагом, в передний ключевой втыкает по моему.
// от точного времяни не зависит.
avformat_seek_file(m_pFormatCtx, m_iAudioSt_indx, 0, ts / STEP, ts / STEP, AVSEEK_FLAG_BACKWARD);
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
20.12.2024, 11:17
Цитата Сообщение от XLAT Посмотреть сообщение
файл в данном контексте это видео ~100'000 кадриков.
ползунок нужно выставить точно на кадрик.
Предполагается нарисовать на экране все 100000 кадриков в линию, и ползунок соответствующей длины?
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,243
20.12.2024, 13:41
Мне эта хрень в голову лезет по ночам.
Наверное можно как то извернуться,
раскодируя отрезок от одного ключевого кадра до другого.
Сложно это всё. Много работы.
0
1 / 1 / 0
Регистрация: 08.07.2024
Сообщений: 30
20.01.2025, 21:11  [ТС]
Выделил немного времени, и немножечко переделал.

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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
///
/// MindBlow.hpp
///
 
#ifndef MINDBLOW_GUARD
#define MINDBLOW_GUARD
 
#include <initializer_list>
#include <iostream>
#include <sstream>
 
 
template<typename MindBlowStreamType>
class MindBlow
{
public:
 
    /// <summary>
    /// Shortcut for a data type.
    /// </summary>
    using x17labMindStreamerT      = MindBlowStreamType;
 
    /// <summary>
    /// Shortcut for a pointer.
    /// </summary>
    using x17labMindStreamerPtrT   = x17labMindStreamerT*;
 
    /// <summary>
    /// Shortcut for a size.
    /// </summary>
    using x17labMindStreamerSizetT = size_t;
 
    /// <summary>
    /// C++ inline function.
    /// </summary>
    #define x17labXCelerateFlow    inline
 
    /// <summary>
    /// C++ noexcept macro definiton. 
    /// </summary>
    #define x17labSafetySentinel   noexcept
 
    /// <summary>
    /// Throw exception.
    /// </summary>
    #define x17labRWXFlare         throw
 
    /// <summary>
    /// Void ponter.
    /// </summary>
    #define x17labRWXVoidPointer   nullptr
 
    /// <summary>
    /// Dynamically allocated (raw) array.
    /// </summary>
    x17labMindStreamerPtrT         x17labMindStreamerRAWRWX;
 
    /// <summary>
    /// Count of items (track counter).
    /// </summary>
    x17labMindStreamerSizetT       x17labMindStreamerSynchro;
 
    /// <summary>
    /// Newly dynamically allocated array class with 1 single item, and it's default value is 1.
    /// </summary>
    explicit
    x17labXCelerateFlow
    MindBlow()
    {x17labDekTheRawInternal(1u);}
 
    /// <summary>`
    /// Newly dynamically allocated array class with given amount of items.
    /// </summary>
    /// <param name="Synchrofazathron">Count of items to initialize items.</param>
    explicit
    x17labXCelerateFlow
    MindBlow(x17labMindStreamerSizetT Synchrofazathron)
    {x17labDekTheRawInternal(Synchrofazathron);}
 
    /// <summary>
    /// Newly dynamically allocated array class with initializer list in it.
    /// </summary>
    /// <param name="SuperNovaIL">Initializer list.</param> 
    explicit
    x17labXCelerateFlow
    MindBlow(std::initializer_list<x17labMindStreamerT> SuperNovaIL)
    {
        x17labDekTheRawInternal(SuperNovaIL.size());
 
        if ((SuperNovaIL.size()) <= (0u))
        {x17labRWXFlare (std::invalid_argument("MindBlow:: invalid argument has been passed."));}
 
        decltype(x17labMindStreamerSynchro) ILIterator {0u};
        for (x17labMindStreamerT (Picker) : (SuperNovaIL))
        {
            x17labMindStreamerRAWRWX[ILIterator] = (Picker);
            ILIterator++;
        }
    }
 
    /// <summary>
    /// Destructor (deallocate and free memory used by this dynamically allocated array class).
    /// </summary>
    x17labXCelerateFlow
    ~MindBlow()
    {
        x17labEjectorInternal();
        x17labNullifyInternal();
    }
 
    /// <summary>
    /// Get the amount of items in this dynamically allocated array class.
    /// </summary>
    /// <returns>Amount of items.</returns>
    x17labXCelerateFlow
    x17labMindStreamerSizetT x17labMindStreamerSynchronizer()
    {
        if ((x17labNull()) <= (0u))
        {x17labRWXFlare (std::invalid_argument("x17labMindStreamerSynchrohronizer:: x17lab is fully zeroed."));}
 
        return (x17labMindStreamerSynchro);
 
    }
 
    /// <summary>
    /// Check dynamically allocated array is out of bounds (internal check).
    /// </summary>
    /// <param name="Synchro">Index to check.</param> 
    /// <returns>True if its in range.</returns>
    x17labXCelerateFlow
    bool x17labOutOfRange(x17labMindStreamerSizetT Synchro)
    {
        if ((Synchro) >= (x17labMindStreamerSynchro))
        {x17labRWXFlare (std::invalid_argument("x17labOverflow:: overflow has been detected."));}
        
        return (true);
    }
 
    /// <summary>
    /// Create dynamically allocated aray class with given amount of items, provided in argument.
    /// </summary>
    /// <param name="x17labSynchro">Tracker of items.</param> 
    /// <returns>Pointer to an array.</returns>
    x17labXCelerateFlow
    void x17labDekTheRaw(x17labMindStreamerSizetT Synchro) x17labSafetySentinel
    {
        x17labMindStreamerPtrT MindStreamer = new (x17labMindStreamerT[Synchro])();
        return (MindStreamer);
    }
 
    /// <summary>
    /// Create dynamically allocated aray class with given amount of items,  provided in argument.
    /// </summary>
    /// <param name="x17labSynchro">Tracker of items.</param> 
    x17labXCelerateFlow
    void x17labDekTheRawInternal(x17labMindStreamerSizetT Synchro) x17labSafetySentinel
    {
        x17labMindStreamerRAWRWX = new (x17labMindStreamerT[Synchro])();
        x17labMindStreamerSynchro = { Synchro };
    }
 
    /// <summary>
    /// Check if there are items in this dynamically allocated array class.
    /// </summary>
    /// <returns>True in case allocated array class has items.</returns>
    x17labXCelerateFlow
    bool x17labNull() x17labSafetySentinel
    {
        if ((x17labMindStreamerSynchro) <= (0u))
        {x17labRWXFlare (std::invalid_argument("x17labNull:: Synchro has been nulled."));}
 
        return (true);
    }
 
    /// <summary>
    /// Check if there is an initialiizer list in this dynamically allocated array class.
    /// </summary>
    /// <param name="SuperNovaIL">Initializer list to perform the needed checks.</param> 
    /// <returns>True in case has an initializer list.</returns>
    x17labXCelerateFlow
    bool x17labSuperNovaILOverflow(std::initializer_list<x17labMindStreamerT> SuperNovaIL)
    {
        if ((SuperNovaIL.size()) <= (0u))
        {x17labRWXFlare (std::invalid_argument("x17labSuperNovaILOverflow:: argument is out of range."));}      
 
        return (true);
    }
 
    /// <summary>
    /// Check if proveded dynamically allocated array and it's index is valid.
    /// </summary>
    /// <param name="MindStreamRaw">Dynamically allcated (raw) array to check.</param> 
    /// <param name="Synchro">Index to perform the needed checks.</param> 
    /// <returns>True in case array within the range.</returns>
    x17labXCelerateFlow
    bool x17labFlow(x17labMindStreamerPtrT MindStreamRaw, x17labMindStreamerSizetT Synchro)
    {
        if ((MindStreamRaw) == (x17labRWXVoidPointer) ||
            (Synchro) <= (0u))
        {
            x17labRWXFlare (std::invalid_argument("x17labFlow:: error has been detected."));
        }
 
        return (false);
    }
 
    /// <summary>
    /// Check if dynamically allocated array class has items in it.
    /// </summary> 
    /// <returns>True in case has items.</returns>
    x17labXCelerateFlow
    bool x17labIsAvailable() x17labSafetySentinel
    {
        if ((x17labMindStreamerSynchro) <= (0u))
        {x17labRWXFlare (std::invalid_argument("x17labIsAvailable:: array has not items in it."));}
 
        return (true);
    }
 
    /// <summary>
    /// Assign item for this dynamically allocated array class to a provided one.
    /// </summary>
    /// <param name="StreamerValue">Value to set.</param>
    /// <param name="Synchro">Index to set.</param> 
    x17labXCelerateFlow
    void x17labYield(x17labMindStreamerT StreamerValue, x17labMindStreamerSizetT Synchro)
    {
        if (x17labOutOfRange(Synchro))
        {x17labRWXFlare (std::invalid_argument("x17labYield:: invalid argument."));}
 
        x17labMindStreamerRAWRWX[Synchro] = {StreamerValue};
    }
 
    /// <summary>
    /// Assign this dynamocally allocated array class to another array (raw).
    /// </summary>
    /// <param name="MindStreamerPtr">Raw array."</param>
    x17labXCelerateFlow
    void x17labYield(x17labMindStreamerPtrT MindStreamerPtr)
    {   
        if (x17labMindStreamerRAWRWX    == (x17labRWXVoidPointer) ||
            MindStreamerPtr             == (x17labRWXVoidPointer))
        {
            x17labRWXFlare(std::invalid_argument("x17labYield:: invalid array."));
        }
 
        x17labMindStreamerRAWRWX = {MindStreamerPtr};
    }
 
    /// <summary>
    /// Change the size of this dynamically allocated array class (raw array).
    /// Allocate new buffer, and assign the new buffer to a raw array. 
    /// </summary>
    /// <param name="New">New size."</param>
    x17labXCelerateFlow
    void x17labShrinkify(x17labMindStreamerSizetT New) x17labSafetySentinel
    {
        x17labMindStreamerPtrT MindStreamPtrNew = new x17labMindStreamerT[New]();
        if (MindStreamPtrNew != (x17labRWXVoidPointer))
        {
            x17labCopy((MindStreamPtrNew), x17labMindStreamerRAWRWX, (x17labMindStreamerSynchro * sizeof(x17labMindStreamerT)));
            if (MindStreamPtrNew != (x17labRWXVoidPointer))
            {
                x17labMindStreamerSynchro = (New);
            }
        }
 
        x17labYield(MindStreamPtrNew);
 
        x17labEjector(MindStreamPtrNew);
        x17labNullify(MindStreamPtrNew);
    }
 
    /// <summary>
    /// Change the size of this dynamically allocated array class (raw array), and fill it with required data.
    /// </summary>
    /// <param name="New">New size to change."</param>
    /// <param name="Value">Value to fill."</param>
    x17labXCelerateFlow
    void x17labShrinkifyAll(x17labMindStreamerSizetT New, x17labMindStreamerT Value) x17labSafetySentinel
    {
        x17labShrinkify(New);
        x17labInfuse(x17labMindStreamerRAWRWX, (x17labMindStreamerRAWRWX) + (x17labMindStreamerSynchro), Value);
    }
    
    /// <summary>
    /// Infuse the dynamically allocated array with given value (whole array).
    /// </summary>
    /// <param name="Value">Value to fill with."</param>
    void x17labInfuseAll(x17labMindStreamerT Value) x17labSafetySentinel
    {std::fill(x17labMindStreamerRAWRWX, (x17labMindStreamerRAWRWX) + (x17labMindStreamerSynchro), Value);}
 
    /// <summary>
    /// Infuse the dynamically allocated array with given value.
    /// </summary>
    /// <param name="Value">Value to fill with."</param>
    void x17labInfuseAt(x17labMindStreamerSizetT At, x17labMindStreamerT Value) x17labSafetySentinel
    {std::fill(x17labMindStreamerRAWRWX, (x17labMindStreamerRAWRWX) + (x17labMindStreamerSynchro), Value);}
 
    /// <summary>
    /// Finds the summaty of all items in this dynamically allocated array class.
    /// </summary> 
    /// <returns>Summary of elements.</returns>
    x17labXCelerateFlow
    x17labMindStreamerSizetT x17labSummary() x17labSafetySentinel
    {
        x17labMindStreamerSizetT Summary = {0u};
        for (x17labMindStreamerT (RAWRWXPicker) : x17labMindStreamerRAWRWX)
        {(Summary += (RAWRWXPicker));}
 
        return (Summary);
    }
 
    /// <summary>
    /// Finds the maximal value if this dynamically allocated array class.
    /// </summary> 
    /// <returns>Maximal item.</returns>
    x17labXCelerateFlow
    x17labMindStreamerSizetT x17labFindMax() x17labSafetySentinel
    {
        x17labMindStreamerSizetT Maximal = {0u};
        for (decltype(x17labMindStreamerSynchro) QueryMaximalIt = {0u}; (QueryMaximalIt) <
            (x17labMindStreamerSynchro);
             QueryMaximalIt++)
        {
            if (x17labMindStreamerRAWRWX[QueryMaximalIt] > Maximal)
            {Maximal = (x17labMindStreamerRAWRWX[QueryMaximalIt]);}
        }
 
        return (Maximal);
    }
 
    /// <summary>
    /// Append item in a dynamically allocated array class. 
    /// </summary>
    /// <param name="Value">Value to append."</param>
    x17labXCelerateFlow
    void x17labAppend(x17labMindStreamerT Value) x17labSafetySentinel
    {
        x17labShrinkify(x17labMindStreamerSynchro + (1u));
        x17labMindStreamerRAWRWX[x17labMindStreamerSynchro + 1u] = Value;
    }
    
    /// <summary>
    /// Append initializer list in a dynamically allocated array class. 
    /// </summary>
    /// <param name="SuperNovaIL">Initializer list."</param>
    x17labXCelerateFlow
    void x17labAppendIL(std::initializer_list<x17labMindStreamerT> SuperNovaIL) x17labSafetySentinel
    {
    }
 
    /// <summary>
    /// Append class instance in a dynamically allocated array class.  
    /// </summary>
    /// <param name="Class">Class to add."</param>
    x17labXCelerateFlow
    void x17labAppendClass(MindBlow<x17labMindStreamerT> Class) x17labSafetySentinel
    {
        for (decltype(x17labMindStreamerSynchro) ClassIt = {0u};
            (ClassIt) < (x17labMindStreamerSynchro); 
             ClassIt++)
        {
            x17labMindStreamerPtrT[ClassIt] = (Class.x17labMindStreamerRAWRWX[ClassIt]);
        }
    }
 
    /// <summary>
    /// Adds item in a dynamically allocated array class. 
    /// </summary>
    /// <param name="Idx">Index to add."</param>
    x17labXCelerateFlow
    void x17labAddByIdx(x17labMindStreamerSizetT Idx) x17labSafetySentinel
    {
    }
 
    /// <summary>
    /// Adds item in a dynamically allocated array class. 
    /// </summary>
    /// <param name="Value">Value to add."</param>
    x17labXCelerateFlow
    void x17labRemove(x17labMindStreamerT Value) x17labSafetySentinel
    {
    }
 
    // <summary>
    /// Removes item in a dynamically allocated array class by provided index. 
    // </summary>
    // <param name="Sequence">Index to remove."</param>
    x17labXCelerateFlow
    void x17labRemoveByIdx(x17labMindStreamerSizetT Sequence) x17labSafetySentinel
    {
    }
 
    // <summary>
    /// Reinvert the dynamically allocated array class. 
    // </summary>
    x17labXCelerateFlow
    void x17labReinvert() x17labSafetySentinel
    {
    }
 
    // <summary>
    /// Reinvert the dynamically allocated array class. 
    // </summary>
    x17labXCelerateFlow
    void x17labReinvert(MindBlow<x17labMindStreamerT> Reinvert) x17labSafetySentinel
    {
    }
 
    // <summary>
    /// Reinvert the dynamically allocated array class by having initializer list. 
    // </summary>
    x17labXCelerateFlow
    void x17labReinvert(std::initializer_list<x17labMindStreamerT> ReinvertIL) x17labSafetySentinel
    {
    }
 
    /// <summary>
    /// Finds the exact value in this dynamically allocated array class.
    /// </summary> 
    /// <returns>True in case array class contains an item.</returns>
    x17labXCelerateFlow
    bool x17labQuery(x17labMindStreamerT Query) x17labSafetySentinel
    {
        for (decltype(x17labMindStreamerSynchro) (QueryIt) = {0u}; 
            (QueryIt) < (x17labMindStreamerSynchro);
             QueryIt++)
        {
            if (x17labMindStreamerRAWRWX[QueryIt] == (Query))
            {return (true);}
        }
 
        return (false);
    }
 
    /// <summary>
    /// Get the first element in this dynamically allocate array class.
    /// </summary> 
    /// <returns>First element in the array.</returns>
    x17labXCelerateFlow
    x17labMindStreamerT First() x17labSafetySentinel
    {
        return (x17labMindStreamerRAWRWX[0u]);
    }
 
    /// <summary>
    /// Get the last element in this dynamically allocate array class.
    /// </summary> 
    /// <returns>Last element in the array.</returns>
    x17labXCelerateFlow
    x17labMindStreamerT Last() x17labSafetySentinel
    {
        return (x17labMindStreamerRAWRWX[x17labMindStreamerSynchro]);
    }
 
    /// <summary>
    /// Check if this dynamically allocated array class is valid.
    /// </summary>
    /// <returns>True in case array is valid.</returns>
    x17labXCelerateFlow
    bool x17labIntegrity() x17labSafetySentinel
    {
        if (x17labMindStreamerRAWRWX != x17labRWXVoidPointer)
        {
            x17labRWXFlare(std::invalid_argument("x17labIntegrity:: invalid intergity."));
        }
 
        return (false);
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array using delete[] operator (internal).
    /// </summary>
    x17labXCelerateFlow
    void x17labEjectorInternal() x17labSafetySentinel
    {
        if (x17labMindStreamerRAWRWX != (x17labRWXVoidPointer))
        {
            delete [] x17labMindStreamerRAWRWX;
        }
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array using delete[] operator.
    /// </summary>
    x17labXCelerateFlow
    void x17labEjector(x17labMindStreamerPtrT MindStreamerPtr) x17labSafetySentinel
    {
        if (MindStreamerPtr != (x17labRWXVoidPointer))
        {delete [] MindStreamerPtr;
}
    }
 
    /// <summary>
    /// Destroy the dynamically allacated array class (internal). 
    /// </summary>
    x17labXCelerateFlow
    void x17labNullifyInternal() x17labSafetySentinel
    {x17labMindStreamerRAWRWX = (x17labRWXVoidPointer);}
 
    /// <summary>
    /// Destroy the dynamically allacated array class. 
    /// </summary>
    /// <param name="MindStreamerPtr">Raw."</param>
    x17labXCelerateFlow
    void x17labNullify(x17labMindStreamerPtrT MindStreamerPtr) x17labSafetySentinel
    {MindStreamerPtr = (x17labRWXVoidPointer);}
 
    /// <summary>
    /// Print content by using console.
    /// </summary>
    x17labXCelerateFlow
    void x17labStringlyfi() x17labSafetySentinel
    {
        std::wstringstream WStreamStringlyfi{};
        for (decltype(x17labMindStreamerSynchro) SynchroIt {0u}; SynchroIt < x17labMindStreamerSynchro; SynchroIt++)
        {
            WStreamStringlyfi << "StreamerIdx: " << SynchroIt << " Value: " << x17labMindStreamerRAWRWX[SynchroIt] << " " << std::endl;
        }
 
        std::wcout << WStreamStringlyfi.str() << std::endl;
    }
};
 
#endif
0
фрилансер
 Аватар для Алексей1153
6496 / 5727 / 1133
Регистрация: 11.10.2019
Сообщений: 15,292
21.01.2025, 18:51
жутко грязный код
0
Just Do It!
 Аватар для XLAT
4219 / 2681 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
21.01.2025, 20:15
Цитата Сообщение от Алексей1153 Посмотреть сообщение
жутко грязный код
а я вот сомневаюсь, что это код...
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
21.01.2025, 23:54
Цитата Сообщение от Sneakzzz Посмотреть сообщение
Я решил заняться полным исследованием алгоритмов и структур данных.
и 1% НЕ пройдешь от этого пути) за всю жизнь, будь ты хоть трижды "Мафусаилом"
0
Just Do It!
 Аватар для XLAT
4219 / 2681 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
22.01.2025, 00:05
Цитата Сообщение от FasterHarder Посмотреть сообщение
за всю жизнь
он чатгпт, а чатгпт не умирают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.01.2025, 00:05

Решил начинающий программист Вася Битиков ланшафтным дизайном заняться - оформить бабушкину клумбу оригинальным узором,
Решил начинающий программист Вася Битиков ланшафтным дизайном заняться - оформить бабушкину клумбу оригинальным узором, уж очень бабушка...

Описания алгоритмов и структур данных
У меня курсовая работа, к ней проект БД на языке Access препод сказал чтоб я добавила описания алгоритмов и структуров данных. в инете...

Программирование алгоритмов с использованием динамических структур данных
Помогите.Создать приложение, которое осуществляет ввод значений элементов двумерного массива n-го порядка с клавиатуры, изменяет порядок...

Разработка алгоритмов и программ с использованием динамических структур данных
Перевернуть список L, то есть изменить ссылки в этом списке так, чтобы его элементы оказались расположенными в обратном порядке. Надо...

Разработка и отладка алгоритмов и программ с использованием структур данных.
народ , помогите переделать задачу под это условие , плиз оч нужно , приведённый мною код это аналогичная задача но под другое условие ))) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru