Как обходиться без указателей ну и заодно структур. - страница 2

 
Prival писал(а) >>

Интересно получаеться, а если часть кода вызываеться десятки тысяч раз. Допустим вариант умножение матриц.

Можете помочь, с процедурой умножения матриц ? Правильно и корректно работающей.

Сергей, это бот

 
Ais >>:
Насчет видимости.

Часть затруднений может быть устранена путем отказа от библиотек и размещения всего кода в одном файле.

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

 
Integer писал(а) >>

Сергей, это бот

Немного не понял, что такое бот?

Но вот ответ типа это просто реализовать для 2-х мерных матриц на MQL, говорит о том что бот не владеет этим вопросом или забыл что при перемножении матриц может меняется размерность.

 
Prival писал(а) >>

Немного не понял, что такое бот?

Но вот ответ типа это просто реализовать для 2-х мерных матриц на MQL, говорит о том что бот не владеет этим вопросом или забыл что при перемножении матриц может меняется размерность.

РоБот, не человек это, программа компьютерная, но умнеет с каждым днем.

 
Насчет умножения двухмерных матриц с размерами R1 x C1 и R2 x C2.
1. Проверяется совпадение размера C1 первой матрицы и размера R2 второй матрицы.
2. В случае успеха создается третья итоговая матрица размерами R1 на C2.
3. Производится вычисление элементов итоговой матрицы по правилу "строка на столбец".
4. Все.
В MQL4 двухмерные матрицы хорошо представляются двухмерными массивами.
 
Ais писал(а) >>
Насчет умножения двухмерных матриц с размерами R1 x C1 и R2 x C2.
1. Проверяется совпадение размера C1 первой матрицы и размера R2 второй матрицы.
2. В случае успеха создается третья итоговая матрица размерами R1 на C2.
3. Производится вычисление элементов итоговой матрицы по правилу "строка на столбец".
4. Все.
В MQL4 двухмерные матрицы хорошо представляются двухмерными массивами.


отлично как созданную 3-ю матрицу размером R1 на C2 сделать видимой, для программы вызвавщей процедуру умножения матриц ? Матрицы возвращать же нельзя ((.

 
Prival >>:


отлично как созданную 3-ю матрицу размером R1 на C2 сделать видимой, для программы вызвавщей процедуру умножения матриц ? Матрицы возвращать же нельзя ((.

Её можно вернуть в одном из массивах, что были исходными для вычислений.

 
Zhunko писал(а) >>

Её можно вернуть в одном из массивах, что были исходными для вычислений.

можно но это не всегда удобно и возможно. Вот тут предлагается лучшее решение. 'Помогите с массивами.'. А часто задаю вопрос зная на него ответ (ну или предпологаю что знаю). Просто когда заявляют что тут все просто, я понимаю что человек не понимает про что говорит и никогда сам это не делал

 
Korey >>:

но проблем видимости в MQ нет,

int start()
{
//----
int a=220;
F1();
//----
return(0);
}
//+------------------------------------------------------------------+
void F1()
{
int a=127;
F2();
}
void F2()
{
Alert(a);
}


'a' - variable not defined

 
Integer >>:

Можно массивы передавать в функцию по ссылке: int Function(double & Array[]){...

Получилось. Все ОК. Значения в массиве меняет, что собственно и требовалось.

Ума не приложу, почему раньше не пролезало.

int a[5]={10,11,12,13,14};

int start()
{
//----
F(a);
Alert(a[1]);
//----
return(0);
}
//+------------------------------------------------------------------+
int F(int &c[])
{
Alert(c[1]);
c[1]=21;
}

Причина обращения: