Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1092401154
}|{yk
2004-08-13 16:45
2004.08.29
Какую директиву компилятора поставить перед


14-1092236444
ИМХО
2004-08-11 19:00
2004.08.29
VAT


9-1083916006
MsShtaer
2004-05-07 11:46
2004.08.29
Помогите с выбором стиле к стратегической игре


3-1091538379
DBUser
2004-08-03 17:06
2004.08.29
Как вернуть значение в хранимой процедуре


3-1091517710
sergch
2004-08-03 11:21
2004.08.29
ADODataSet.Edit для одной таблицы в многотабличном запросе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский