Доброе утро!
Чего то не хватает чтобы получить данные массива 2 прошу подсказать
double t1=1;
double t2=1;
double myMap1 [2];
myMap1 [0]=t1;
myMap1 [1]=t2;
myMap1 [2] = My_function( );
Alert (myMap1 [0]); Alert (myMap1 [1]); // остается без изменений
return(0); }
double My_function()
{double t3 =10;
double t4 =20;
double myMap2 [2];
myMap2 [0]=t3;
myMap2 [1]=t4;
return (myMap2[2]);}
Выход за пределы массива. Выделенные элементы не существуют, но myMap1[2] (тоже не существует) хотя бы пытается получить значение, а чему равен myMap2[2] ? В общем случае "мусор".
Что-то не похоже на то, что Вы прочли учебник - я Вам ссылку на массивы оставлял в предыдущей вашей ветке.
Поймите одно: это не экзамены в ВУЗЕ - наскоком или "на шару" не проскочить. Рисковать то своими деньгами будете.
Удачи.
Выход за пределы массива. Выделенные элементы не существуют, но myMap1[2] (тоже не существует) хотя бы пытается получить значение, а чему равен myMap2[2] ? В общем случае "мусор".
Что-то не похоже на то, что Вы прочли учебник - я Вам ссылку на массивы оставлял в предыдущей вашей ветке.
Поймите одно: это не экзамены в ВУЗЕ - наскоком или "на шару" не проскочить. Рисковать то своими деньгами будете.
Удачи.
"шары" нет нужно же как то учиться в 45 лет (на макет пришла автоматизация и 11 лет стажа торговли вручную вот это стало "мусором" (((спасибо роботам ))) ...с форумом получается быстрее раз в 10 за что всем откликающимся респект
просто конструкция в
когда t3 и t4 заданы за пределами функции -все работает и расчеты из функции выводятся (контролирую алертами )
myMap [2] - обьявляю массив а ....[0] и [1] его элементы
"шары" нет нужно же как то учиться в 45 лет (на макет пришла автоматизация и 11 лет стажа торговли вручную вот это стало "мусором" (((спасибо роботам ))) ...с форумом получается быстрее раз в 10 за что всем откликающимся респект
просто конструкция в
когда t3 и t4 заданы за пределами функции -все работает и расчеты из функции выводятся (контролирую алертами )
myMap [2] - обьявляю массив а ....[0] и [1] его элементы
Вы возвращаете значение элемента №2, а такого элемента не существует - Вы для него память не отвели. Существуют элементы 0 и 1 - всего 2-а элемента, как у Вас и описано: double myMap1 [2]; А из double My_function() Вы возвращаете не только не размещенный элемент, но еще и не проинициализированный - Вы ему нигде не присваиваете значения. Хотя, если присвоите, то результата тоже не будет. Чтобы существовал элемент с номером 2 размерность массива должна быть не менее 3-х.
Удачи.
Вы возвращаете значение элемента №2, а такого элемента не существует - Вы для него память не отвели. Существуют элементы 0 и 1 - всего 2-а элемента, как у Вас и описано: double myMap1 [2]; А из double My_function() Вы возвращаете не только не размещенный элемент, но еще и не проинициализированный - Вы ему нигде не присваиваете значения. Хотя, если присвоите, то результата тоже не будет. Чтобы существовал элемент с номером 2 размерность массива должна быть не менее 3-х.
Удачи.
double t1=1;
double t2=1;
double myMap1 [1];
myMap1 [0]=t1;
myMap1 [1]=t2;
myMap1 [1] = My_function( );
Alert (t1);Alert (t2);
return(0); }
double My_function()
{double t3 =10;
double t4 =20;
double myMap2 [1];
myMap2 [0]=t3; Alert (t3) ;
myMap2 [1]=t4; Alert (t4) ;
return (myMap2[1]);}
устранил несоразмерность ....10 и 20 не возвращаются ((
int start() { double t1=1; double t2=1; double myMap1[2]; myMap1 [0]=t1; myMap1 [1]=t2; myMap1 [1] = My_function( ); Alert (myMap1[0]); Alert (myMap1[1]); return(0); } double My_function() { double t3 =10; double t4 =20; double myMap2 [1]; myMap2 [0]=t3; Alert (t3) ; myMap2 [1]=t4; Alert (t4) ; return (myMap2[1]); }
так он вытаскивает t4 только
Чтобы существовал элемент с номером 2 размерность массива должна быть не менее 3-х.
Вы символьный массив с числовым не путайте.
Вернуть целый массив из функциии - нельзя. ВОзвращение отдельных его элементов - нецелесообразно.
Чтобы существовал элемент с номером 2 размерность массива должна быть не менее 3-х.
Вы символьный массив с числовым не путайте.
Вернуть целый массив из функциии - нельзя. ВОзвращение отдельных его элементов - нецелесообразно.
Поясните в чем разница и заодно что такое символьный массив в МКЛ ? ;)
https://book.mql4.com/ru/basics/types
ЗЫ если для Вас это новость, поскажу в МКЛ нет такого типа ;).... Так что там с массивами ?
int array[2];
Я могу обращаться к элементу с индексом 2 хоть 1000...........................N раз.
char array[2];
А тут последним должен быть символ конца строки(\0).
Правда, возможно в mql4 такого правила нет, поэтому и тут я спокойно обращусь к array[2] =)
int start() { double t1=1; double t2=1; double myMap1[2]; myMap1 [0]=t1; myMap1 [1]=t2; Alert (myMap1[0]); Alert (myMap1[1]); My_function(myMap1); Alert (myMap1[0]); Alert (myMap1[1]); return(0); } void My_function(double & myMap2[]) { double t3 =10; double t4 =20; myMap2 [0]=t3; myMap2 [1]=t4; }Как я понял. Товарищ хочет всем элементам массива присвоить значения
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброе утро!
Чего то не хватает чтобы получить данные массива 2 прошу подсказать
double t1=1;
double t2=1;
double myMap1 [2];
myMap1 [0]=t1;
myMap1 [1]=t2;
myMap1 [2] = My_function( );
Alert (myMap1 [0]); Alert (myMap1 [1]); // остается без изменений (
return(0); }
double My_function()
{double t3 =10;
double t4 =20;
double myMap2 [2];
myMap2 [0]=t3;
myMap2 [1]=t4;
return (myMap2[2]);}