Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Передать в функцию массив из структуры -- как???   Найти похожие ветки 

 
KSergey ©   (2004-08-11 16:15) [40]

Параллельно - это прикольно.
Но вы можете ответить на [35] KSergey ©   (11.08.04 15:51)?? Просто из любопытства? Приведите небольшой пример кода обработки...


 
Digitman ©   (2004-08-11 16:17) [41]


> причем вычислять все параллельно


да уж .. из другой оперы это ария


 
cvg   (2004-08-11 16:33) [42]

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

for i:=low(a) to high(a)
func(a[i].abc);

а что-нить типа

func(abc);

А пример кода я уже приводил. Ну, вот еще:

A[n].MA0 := pushing(A[n].avg0,A[n].ar[3]/A[n].start*100);
A[n].MA3 := A[n].arr[3] - A[n].MA1;
A[n].MA4 := A[n].arr[4] - A[n].MA2;

A[n].MA7 := pushing(A[1].avg7,A[n].ar[3]/A[n].start*100);
A[n].MA8 := pushing(A[1].avg8,A[n].qu);

A[n].arr[1] := combing(A[n].ar[1]/A[n].start*100,A[n].arr[1],1);
A[n].arr[2] := combing(A[n].ar[2]/A[n].start*100,A[n].arr[2],1);
A[n].buff[5] := A[n].arr[3]; A[n].buff[6] := A[n].arr[4];
A[n].arr[3] := combing(A[n].arr[1],A[n].arr[3],10);
A[n].arr[4] := combing(A[n].arr[2],A[n].arr[4],10);
putting(A[n].mass1,A[n].arr[3]); putting(A[n].mass2,A[n].arr[4]);
A[n].arr[5] := mixing(A[n].mass1,A[n].mass2,A[n].mass,index);
putting(A[n].mass,A[n].arr[5]);

if A[n].MA1 = 0 then A[n].MA1 := A[n].ar[1]/A[n].start*100;
if A[n].MA1 - A[n].ar[1]/A[n].start*100 >= 0.005
then A[n].MA1 := A[n].ar[1]/A[n].start*100
else A[n].MA1 := max(A[n].MA1,A[n].ar[1]/A[n].start*100);
if A[n].MA2 = 0 then A[n].MA2 := A[n].ar[2]/A[n].start*100;
if A[n].ar[2]/A[n].start*100 - A[n].MA2 >= 0.005
then A[n].MA2 := A[n].ar[2]/A[n].start*100
else A[n].MA2 := min(A[n].MA2,A[n].ar[2]/A[n].start*100);


 
Erik1   (2004-08-11 16:41) [43]

Если переменые дублируются, то должны быть представлены тойже структорой. Тоесть:
Type
 MyType := Array of MyRecord;
A: MyType;
B: MyType;
...
Копирование:
B := Copy(A);
Тоесть сначала надо вычислить один случай, все скопировать и только после этого идем дальше. Иначе получается то, что имеем. И еще мне кажется вычисления сильно перерисать надо. Тоесть начать с изменения алгоритма.


 
KSergey ©   (2004-08-11 16:42) [44]

> [42] cvg   (11.08.04 16:33)

По поводу [33] KSergey ©   (11.08.04 15:49) что-то сказать можем?

Во только по поводу приведенного куска - я никак не пойму как он состыкуется с func(abc);
В каждой строчке - работаем с разными полями структуры. Это все внутри одного цикла или как? Нормально можно задачу объяснять??


 
cvg   (2004-08-11 16:52) [45]

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

Задача в грубом виде такая:
1-й вариант (был): на основе ряда некоторых динамично изменяющихся данных принимать некоторые решения;
2-й вариант (сейчас): делать то же самое на основании нескольких рядов данных.


 
KSergey ©   (2004-08-11 16:54) [46]

Доктор, меня игнорируют! ;)
Все, я потерял интерес, т.к. ничего уже не понимаю.



Страницы: 1 2 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.028 c
14-1092037685
Карелин Артем
2004-08-09 11:48
2004.08.29
Спамеры без башни.


14-1092070430
MC
2004-08-09 20:53
2004.08.29
Помогите найти загадки?


1-1092520861
Gear
2004-08-15 02:01
2004.08.29
Обращение из основного потока к дочернему.


1-1092510274
GreySerg
2004-08-14 23:04
2004.08.29
Как заменить содержимое файла, открываемого с помощью TFileStream


14-1091807364
Svarog
2004-08-06 19:49
2004.08.29
Зацените программу