Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизПередать в функцию массив из структуры -- как??? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.039 c