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

 

Ну наверно все, ну большинство, привыкло работать с структурированными программами - кругом объекты, функции, библиотеки и собственно все тело программы содержит только их вызовы. Хотел сделать библиотеку..., ан нет, большинство функций работает с массивами и должно передавать массивы, и приходится из функции лезть в глобальные переменные (в смысле для программы) и повторное использование уже под вопросом -всегда надо в функции что-то менять и просто так блоком уже не вставишь.

Поделитесь, как кто работает с массивами, в смысле организации библиотек.

Вторая задача структуры - опять массив разнородных данных - int, double и пр. Я этот вопрос решил так:


string F(int a, int b, string c)

{

static string A[];

static string B[];

static string C[];

switch(b)

{

case 1; return(A[a]); break;

case 2; return(B[a]); break;

case 3; return(C[a]); break;

} }

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

Не обессудьте, если где ошибся - это только принцип, а не программа.

 
Здравствуйте,
Обратите внимание на "A.Memory.Register" в A System: Code Sample 6.
Код лучше просматривать постранично в окне размером 45 строк по 122 знака.
С уважением,
Ais

 

Для небольшого количества данных использую графические объекты. Туда что угодно можно записать и прочитать в любом порядке.

'ZH_Global_Chart_Variable_Lib'

 
Ais >>:

Обратите внимание на "A.Memory.Register" в A System: Code Sample 6.

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

Точка в именах, по признанию разработчиков, получилась случайно и надо тоже попробовать ее использовать.

Вот с массивами пока не совсем понял. Я что-то пытался сделать и наткнулся на проблемы с видимостью переменных, которых даже в С не было бы.

 
YUBA писал(а) >>

Поделитесь, как кто работает с массивами, в смысле организации библиотек.

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

 
от структур и указателей можно постепенно отвыкнуть, без goto - потратить лишиее время,
но проблем видимости в MQ нет, есть проблемы передачи элемента массива да и то в некоторых из многих функциях.
в общем МТ-4
- это торговый терминал.
 
Integer >>:

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

Пробовал. У меня такая конструкция не заработала, попробую еще раз. Только так - Function(double Array[]){... Здесь проблем нет. Проблемы начинаются, когда функция должна изменять переданные ей элементы массива, а не брать их из внешних переменных. Если Ваша конструкция сработает на запись будет замечательно.

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

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

 
Ais писал(а) >>
Насчет видимости.

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

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

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

 
Умножение двухмерных матриц - очень простая задача, уверен, что справитесь сами.

Насчет многомерных - возможно, также.

 
Ais писал(а) >>
Умножение двухмерных матриц - очень простая задача, уверен, что справитесь сами.

Насчет многомерных - возможно, также.

Есть способ умножения пирамидальных матриц?

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