Вверх ↑
Этот топик читают: Гость
Ответов: 871
Рейтинг: 322
#1: 2019-06-19 17:46:20 ЛС | профиль | цитата
Потребовалось сложение и вычитание двух неравнозначных массивов. Может есть более хитропопый вариант?

Add(MainForm,2953706,504,238)
{
Width=157
Height=361
link(onCreate,11195374:doData,[])
}
Add(ListBox,3195096,686,168)
{
Left=5
Top=5
Width=35
Height=70
Strings=#1:5|2:10|2:20|
}
Add(ListBox,6356249,889,168)
{
Left=45
Top=5
Width=40
Height=290
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|2:14|2:15|2:16|2:17|2:18|2:19|2:20|2:21|2:22|
}
Add(Button,8351967,791,245)
{
Left=30
Top=305
Caption="+"
link(onClick,3229555:doFor,[])
}
Add(CounterEx,14688697,658,245)
{
Default=-1
Point(doMax)
link(onNext,7800218:doRead,[])
}
Add(DoData,11195374,553,252)
{
link(onEventData,2842889:doOperation,[])
link(Data,3195096:Count,[(559,222)(699,222)])
}
Add(ArrayRW,7800218,700,245)
{
link(Array,3195096:Array,[])
}
Add(Math,2842889,602,252)
{
OpType=1
Op2=1
link(onResult,14688697:doMax,[])
}
Add(For,3229555,847,245)
{
link(onEvent,9664792:doRead,[])
link(End,6356249:Count,[(860,222)(902,222)])
}
Add(ArrayRW,9664792,903,245)
{
link(onRead,1863989:doEvent1,[])
link(Array,6356249:Array,[])
}
Add(Hub,1863989,945,245)
{
link(onEvent1,14688697:doNext,[(969,251)(969,234)(646,234)(646,251)])
link(onEvent2,13419134:doString,[(971,258)(971,293)(884,293)(884,328)])
}
Add(ListBox,16625279,966,322)
{
Left=90
Top=5
Width=50
Height=290
}
Add(FormatStr,13419134,896,322)
{
Mask="%1 + %2"
link(onFString,16625279:doAdd,[])
link(Str1,7800218:Item,[(902,303)(706,303)])
link(Str2,9664792:Item,[])
}

карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8886
Рейтинг: 823
#2: 2019-06-19 18:14:05 ЛС | профиль | цитата
kamakama, оператор "mod" (остаток от деления) Можно ещё массивы по количеству разделить автоматически, нужно-ли
mod


Add(ListBox,3195096,749,126)
{
Left=5
Top=5
Width=35
Height=70
Strings=#1:5|2:10|2:20|
}
Add(ListBox,6356249,630,126)
{
Left=45
Top=5
Width=40
Height=290
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|2:14|2:15|2:16|2:17|2:18|2:19|2:20|2:21|2:22|
}
Add(Button,8351967,532,203)
{
Left=30
Top=305
Caption="+"
link(onClick,3229555:doFor,[])
}
Add(ArrayRW,7800218,763,203)
{
link(Array,3195096:Array,[])
}
Add(For,3229555,588,203)
{
link(onEvent,9664792:doRead,[])
link(End,6356249:Count,[(601,180)(643,180)])
}
Add(ArrayRW,9664792,644,203)
{
link(onRead,1863989:doEvent1,[])
link(Array,6356249:Array,[])
}
Add(Hub,1863989,686,203)
{
link(onEvent1,588913:doOperation,[])
link(onEvent2,13419134:doString,[(707,216)(707,251)(625,251)(625,286)])
}
Add(ListBox,16625279,707,280)
{
Left=90
Top=5
Width=50
Height=290
}
Add(FormatStr,13419134,637,280)
{
Mask="%1 + %2"
link(onFString,16625279:doAdd,[])
link(Str1,7800218:Item,[(643,261)(769,261)])
link(Str2,9664792:Item,[])
}
Add(Math,588913,714,203)
{
OpType=8
ResultType=0
link(onResult,7800218:doRead,[])
link(Op1,3229555:Position,[(720,194)(636,194)(636,243)(594,243)])
link(Op2,3195096:Count,[(727,180)(762,180)])
}

карма: 19

0
Ответов: 871
Рейтинг: 322
#3: 2019-06-19 18:35:19 ЛС | профиль | цитата
Леонид, спасибо.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#4: 2019-06-20 12:31:53 ЛС | профиль | цитата
Для решения поставленной задачи достаточно 9-ти компонент.
Add(MainForm,2953706,196,196)
{
Width=167
Height=368
BorderStyle=1
Position=1
}
Add(ListBox,3195096,364,140)
{
Left=5
Top=5
Width=35
Height=70
Strings=#1:5|2:10|2:20|
}
Add(ListBox,6356249,266,140)
{
Left=45
Top=5
Width=40
Height=290
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|2:14|2:15|2:16|2:17|2:18|2:19|2:20|2:21|2:22|
}
Add(Button,8351967,238,196)
{
Left=30
Top=305
Caption="+"
link(onClick,6563687:doEnum,[])
}
Add(ArrayRW,7800218,378,196)
{
link(onRead,13419134:doString,[])
link(Array,3195096:Array,[])
}
Add(ListBox,16625279,476,196)
{
Left=90
Top=5
Width=50
Height=290
}
Add(FormatStr,13419134,427,196)
{
Mask="%1 + %2"
link(onFString,16625279:doAdd,[])
link(Str2,6563687:Item,[(440,189)(465,189)(465,238)(286,238)])
}
Add(Math,588913,329,196)
{
OpType=8
ResultType=0
link(onResult,7800218:doRead,[])
link(Op1,6563687:Index,[(335,184)(318,184)(318,233)(293,233)])
link(Op2,3195096:Count,[(342,186)(377,186)])
}
Add(ArrayEnum,6563687,280,196)
{
link(onItem,588913:doOperation,[])
link(Array,6356249:Array,[])
}


Редактировалось 1 раз(а), последний 2019-06-20 12:39:54
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 871
Рейтинг: 322
#5: 2019-06-20 18:36:03 ЛС | профиль | цитата
Tad, доброго вечера. При нынешней памяти пара килобайт много не прибавит. Но все равно приятно.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#6: 2019-06-21 13:31:21 ЛС | профиль | цитата
kamakama писал(а):
При нынешней памяти
При чём тут память ? Лишнее - это мусор. А мусор надо убирать. ИМХО.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)