Пишу функции для обработки массивов на с++
От: Gaxis  
Дата: 13.10.20 20:28
Оценка: -1 :))) :))) :))) :))) :))) :)
Разработки по массивам. Если что-то вам приглянётся пишите на vmastich@inbox.ru или в ЛК.

Первая рубрика, это функции которые позволяют находить размер и ранг динамического массива. Также этому правилу подчиняются и массивы mql4, специфику показываю в видео.

Если вы передаёте массивы в свои функции и не хотите передавать лишние параметры в функции, то данные функции будут вам очень полезны.

Нахождение размера.
Пример вы объявили обычную переменную
Код:
int Q=(int)new int[10];

Далее вы передаёте этот объект как число и получаете размер функцией которую я вам предлагаю.

Нахождение ранга.
Предположим вы собрали многомерный динамический массив такого вида
[2][3][4][5]

и запихнули его в переменную Q, далее вы передали переменную в функцию, и вам нужно узнать что ранг у этого массива равен 4ём. Вы вызываете функцию и получаете ранг из переменной Q.

Найти размер статического массива нельзя его можно только посчитать. В своих материалах я показываю как это сделать. Как показывает практика на моём опыте динамические массивы используются в 85% случаях. Что касается ранга статического массива, то статический массив со всеми своими данными и параметрами лежит в одном блоке, следовательно получить и посчитать ранг статического массива тоже не получиться. Но позже будут разработаны функции которые будут имитировать статические одноконтурные массивы.

Отправляя вам код с функциями, я отправлю вам видео, на чём основаны мои расчёты. Если вы не поленитесь, то на этих прототипах сможете сделать много интересных функций.

Прошу обратить внимание мои типы данных занимают памяти как на этом ресурсе ссылка т.е. откалиброваны очень тонко. Если что-то не получается пишите.

Рубрика2.
Предлагаю вам несколько функций для работы с динамическими/многоконтурными массивами, позже будет имитировано такое со статическим массивом.
1ая может создавать массив любого ранга, прописывая и выделяя память на все размеренности. Пример вам нужно создать дин. массив massiv[2][3][4][4][10], вы помещаете данные в одномерный массив описатель int opisat[]={5,2,3,4,4,10}, далее вы передаёте 2 указателя в функцию, она это переваривает и собирает вам 5ый массив.
2ая может выводить все столбцы или информацию по нужной размеренности.
3яя разрушает такой массив полностью, имеется в виду все размеренности.
Последние выводят единичные параметры: возвращают значение, присваивают его и т.д. В них вы передаёте массив любого ранга и можете управлять этим делом в цикле в ходе выполнения программы.
Я в видео ссылка кратко показал, как это работает. Если видео будет удалено (потому что я попадал в ситуации когда каналы блокировали) то напишите мне я отправлю вам его на почту.
ранг размер
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.