В масссиве не может быть разные типы данных. Если string количество ограничено, то можно сделать через enum. А лучше почитайте на форумах по Си как работать с много мерными массивами, Многомерный массив раскладыввается на одномерный . Тогда можно сделать Массив структур.
В масссиве не может быть разные типы данных. Если string количество ограничено, то можно сделать через enum. А лучше почитайте на форумах по Си как работать с много мерными массивами, Многомерный массив раскладыввается на одномерный . Тогда можно сделать Массив структур.
Да и ещо один вапрос.
В тридесятом царстве на сколько я понимаю это число 27 тоесть три 9 что-то происходит .Итак вапрос как выглядит массив из 27 измерений... У когото есть мысли.. у меня воображение не работает дальше 4 массива.
Да и ещо один вапрос.
В тридесятом царстве на сколько я понимаю это число 27 тоесть три 9 что-то происходит .Итак вапрос как выглядит массив из 27 измерений... У когото есть мысли.. у меня воображение не работает дальше 4 массива.
например 4-х мерный
arr[,,,]
Создайте структуру, например:
struct SArray { int Element1; double Element2; string Element3; };
Потом можно объявить массив.
SArray Arr[10];
И использовать его как обычно.
Arr[0].Element1 = 1; Arr[0].Element2 = 0.1; Arr[0].Element3 = "Строка";
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ struct superstruct // определяем структуру { int index; double column1; double column2; string comment; }; superstruct super_array[]; // создаем массив структур //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { int size=100; ArrayResize(super_array,size); // размечаем массив for(int i=0;i<size;i++) { super_array[i].index=i; // назначаем индекс super_array[i].column1=MathRand(); // заполняем колонку 1 массива super_array[i].column2=MathRand(); // заполняем колонку 1 массива super_array[i].comment="всё тлен"; // заполняем текстовую колонку } return(INIT_SUCCEEDED); }
я бы так сделал например
-------
а вот меня опередили уже ну ладно... удалю если что...
-------
а вот меня опередили уже ну ладно... удалю если что...
Не, не удаляйте. У вас пример для динамического массива. У меня для статичного. Так что думаю оба примера будут полезны для ТС.
P.S.
Удивляет только как он с такими вопросами, что то в маркете публикует. :)
я бы так сделал например
-------
А Я бы так, если-бы была в этом необходимость, хотя одна функция у меня в коде так и работает
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ struct superstruct // определяем структуру { int index[]; double column1[]; double column2[]; string comment[]; }; superstruct super_array[][20]; // создаем массив структур
А Я бы так, если-бы была в этом необходимость, хотя одна функция у меня в коде так и работает
О, 2-мерный массив структур, это уже следующий уровень крутости, или наверное еще можно структуру в структуру вложить (не пробовал, позволяет ли язык).
А по мне - все эти многомерные массивы - это почва для трудноуловимых ошибок.
Код должен быть простой, как три копейки.
По мне - куда надежнее вложенные интерфейсы. Интерфейс, в отличие от массива - не дает тебе возможности совершить что-то, на что он не рассчитан. С массивами - очень легко перепутать индексы, и заполнить не ту ячейку, которую рассчитываешь. Кроме того, легко заполнить ячейку неправильным значением.
Когда же ты для заполнения можешь использовать исключительно функции интерфейса - сделать ошибку куда труднее - как минимум, потому, что в названии функции ты видишь, что она должна получать, а кроме того, в любой функции вначале стоят проверки на допустимый диапазон значений, которые также уменьшают вероятность ошибки.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Друзья операторы всем привет.
Вапрос по массиву в очередной раз...
Поставил цель собирать данные в 3 или 4 мерный массив.
Если правильно вычитал ФАК то 3 мерных массив это:
Дим1 это ячейка
дим 2 это столбец
дим 3 индекс. Индекс как правило типа ИНТ а мне нужно ещо присвоить индексу название типа СТРИНГ.Как в этом случаи быть обьявлять 4 мерный массив или есть какоето решение...
Если обьявлять то структура массива может быть double double int string?
Всем благодарен заранее за ответы.