Вверх ↑
Этот топик читают: Гость
Ответов: 96
Рейтинг: 1
#1: 2009-11-21 16:00:16 ЛС | профиль | цитата
code_15764.txt


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

примерно так:

1| |1| |1| 0 0 1 0 0 1 0 1 0 1 0 0 0
*| + |*|+ |*| и т.д. = 3
0| |1| |0| 1 1 0 0 0 1 0 1 0 0 0 1 1

И так с каждой из последовательностей выше.
карма: 0

0
файлы: 1code_15764.txt [7.8KB] [544]
Ответов: 175
Рейтинг: 10
#2: 2009-11-21 16:08:35 ЛС | профиль | цитата
301992, я думаю, что тебе многие хотят помочь, и вряд ли это сложно. Но понять суть задачи и назначение твоих кнопок займет на порядок больше времени, чем правка схемы.

Попробуй доступнее излагать
карма: 1

0
Ответов: 96
Рейтинг: 1
#3: 2009-11-21 16:16:34 ЛС | профиль | цитата
Попробую.
При нажатии ктопки 1 создается последовательность чисел.
При нажатии ктопки 2 должно происходить, то что я описал выше. Перемножение последней сгенерированной последовательности в зеленом окошке со всеми остальными
При нажатии кнопки сброс все большие окна очищаються
карма: 0

0
Ответов: 4641
Рейтинг: 334
#4: 2009-11-21 16:23:01 ЛС | профиль | цитата
301992, за создание одинаковых тем без просьбы об удалении предыдущей темы, буду наказывать.
------------ Дoбавленo в 16.25:
301992 писал(а):
Перемножение последней сгенерированной последовательности в зеленом окошке со всеми остальными

а по русски....
например.
последовательность
1-5-7-5
что должно происходить
1*3
5*6
7*9
5*12
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 175
Рейтинг: 10
#5: 2009-11-21 16:37:04 ЛС | профиль | цитата
насколько я понимаю должно происходить побитное умножение чисел, а потом подсчет единиц в результате ?
карма: 1

0
Ответов: 96
Рейтинг: 1
#6: 2009-11-21 16:44:47 ЛС | профиль | цитата
по русски в примере наверху цифры съехали
есть две последовательности одинаковой длины.
при нажатии кнопки 2 должнопроисходить следующее. Эти две последовательности начинают перемножаться поэлементно. Т.Е. первый член одной последовательности перемножается с первым членом второй последовательности далее второй член первой последовательности перемножается со вторым членом второй последовательности и так далее. А потом результаты перемноженных элементов необходимо сложить и получится какое-то число. тоесть:

101010
001110

должно получиться (1*0)+(0*0)+(1*1)+(0*1)+(1*1)+(0*0) = 2 и так далее.

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

Примерно так.
------------ Дoбавленo в 16.46:
участник a0005d26f вы попали в самую точку

карма: 0

0
Ответов: 175
Рейтинг: 10
#7: 2009-11-21 17:40:54 ЛС | профиль | цитата
вот блок подсчета, а в свою схему сам подставишь..у меня после вчера сил не хватает

code_15765.txt

не уверен, что это самый простой способ решения задачи, может, сам домыслишь
карма: 1

0
файлы: 1code_15765.txt [1.7KB] [106]
Ответов: 96
Рейтинг: 1
#8: 2009-11-21 18:08:13 ЛС | профиль | цитата
a0005d26f
Спасибо, разбираюсь.

Хочу только спросить как работает компонент "and". Я посмотрел в справке (3 and 2 = 2) но пока не разумею.

карма: 0

0
Ответов: 175
Рейтинг: 10
#9: 2009-11-21 18:23:24 ЛС | профиль | цитата
and - логическая операция умножения

1 and 1 =1
1 and 0 =0
0 and 0 =0

а для того, чтобы понять почему 3 and 2 = 2
разложи операнды в двоичную систему и побитно примени операцию and:

3 and 2 = 2
011 and 010 = 010



карма: 1

0
Ответов: 96
Рейтинг: 1
#10: 2009-11-21 18:33:00 ЛС | профиль | цитата
Спасибо за разъяснения. Все понял.
Я просмотрел твою схему. У тебя там просто происходит подсчет количества единиц но не происходит перемножение. Я в стой образец подставил в начале и в конце нули и результат вычисления не изменился.
------------ Дoбавленo в 18.58:
Участнику a0005d26f

Немного поправил связи у тебя в схеме и заработало. Вот посмотри так должно быть?

Add(MainForm,4344244,0,0)
{
Width=812
Height=583
}
Add(Edit,10046661,392,21)
{
Left=85
Top=225
Width=110
Text="1111000110001111"
}
Add(ListBox,1777482,294,14)
{
Left=85
Top=45
Width=105
Strings=#16:0111000000001110|16:1111000110001111|16:1111000110000001|16:1101000111110011|16:0111000000001110|
}
Add(Button,11571162,203,133)
{
Left=15
Top=15
Width=75
Caption="Считать"
link(onClick,4428014:doEnum,[])
}
Add(ArrayEnum,4428014,308,133)
{
link(onItem,1685637:doEvent1,[])
link(Array,1777482:Array,[])
}
Add(ListBox,8022151,854,294)
{
Left=265
Top=45
Width=145
Height=450
}
Add(Math,15848349,665,196)
{
OpType=4
link(onResult,10608959:doOperation,[])
link(Op2,12476043:Item,[(678,184)(615,184)(615,240)(552,240)])
}
Add(CharArray,16672771,392,133)
{
link(String,10046661:Text,[])
}
Add(Hub,1685637,357,133)
{
link(onEvent1,16672771:doLoad,[])
link(onEvent2,14480739:doLoad,[(381,146)(381,202)])
}
Add(CharArray,14480739,392,196)
{
link(onLoad,11206836:doEvent1,[])
}
Add(For,10668227,462,196)
{
End=15
link(onEvent,2152403:doEvent1,[])
link(onStop,9973066:doEvent1,[(512,209)(512,300)])
}
Add(ArrayRW,12476043,546,196)
{
link(Array,14480739:Array,[(552,184)(527,184)(527,243)(398,243)])
}
Add(ArrayRW,8982230,602,196)
{
link(onRead,15848349:doOperation,[])
link(Array,16672771:Array,[(608,174)(398,174)])
}
Add(Math,10608959,742,196)
{
Point(doClear)
link(Op2,4283899:Var3,[(755,184)(784,184)(784,244)])
}
Add(Memory,7123472,770,294)
{
Point(Data)
link(onData,8022151:doAdd,[])
link(Data,4283899:Var2,[])
}
Add(GetDataEx,4283899,770,239)
{
Angle=3
link(Data,10608959:Result,[(748,244)])
}
Add(Hub,11206836,434,196)
{
link(onEvent1,10668227:doFor,[])
}
Add(Hub,9973066,574,294)
{
link(onEvent1,7123472:doValue,[])
link(onEvent2,10608959:doClear,[(665,307)(665,209)])
}
Add(Hub,2152403,518,196)
{
@Hint=#73:Добавил данный узел. Два компонента RW подключил параллельно и заработало|
link(onEvent1,12476043:doRead,[])
link(onEvent2,8982230:doRead,[(567,209)(567,202)])
AddHint(141,-117,157,39,@Hint)
}


карма: 0

0
Ответов: 373
Рейтинг: 108
#11: 2009-11-21 19:32:42 ЛС | профиль | цитата
301992 писал(а):
(1*0)+(0*0)+(1*1)+(0*1)+(1*1)+(0*0) = 2


Add(MainForm,2953706,196,126)
{
}
Add(Edit,10636057,301,126)
{
Left=150
Top=75
Width=55
Text="101010"
}
Add(Edit,886768,350,126)
{
Left=150
Top=100
Width=55
Text="001110"
}
Add(Button,11612318,196,175)
{
Left=150
Top=130
link(onClick,5893047:doEvent1,[])
}
Add(Message,12018936,406,294)
{
}
Add(MathParse,5339238,301,294)
{
MathStr="( %1[0] * %2[0] ) + ( %1[1] * %2[1] )+ ( %1[2] * %2[2] )+ ( %1[3] * %2[3] )+ ( %1[4] * %2[4] )+ ( %1[5] * %2[5] )"
ResultType=0
link(onResult,12018936:doMessage,[])
link(X1,2176031:Array,[])
link(X2,728611:Array,[(314,250)(356,250)])
}
Add(CharArray,2176031,301,175)
{
Point(Count)
link(onLoad,728611:doLoad,[])
link(String,10636057:Text,[])
}
Add(CharArray,728611,350,175)
{
link(String,886768:Text,[])
}
Add(Hub,5893047,252,175)
{
link(onEvent1,2176031:doLoad,[])
link(onEvent2,5339238:doCalc,[(273,188)(273,300)])
}



Add(MainForm,2953706,112,140)
{
}
Add(Edit,10636057,357,126)
{
Left=150
Top=75
Width=180
Text="1110010010101000"
}
Add(Edit,886768,406,126)
{
Left=150
Top=100
Width=180
Text="0101100010100011"
}
Add(Button,11612318,154,175)
{
Left=150
Top=130
link(onClick,5893047:doEvent1,[])
}
Add(Message,12018936,357,364)
{
link(onMessage,5339238:doClear,[(400,370)(400,340)(340,340)(340,307)])
link(Message,5339238:Result,[])
}
Add(MathParse,5339238,357,294)
{
DataCount=3
MathStr="( %1[%3] * %2[%3] ) + %0"
ResultType=0
Point(doClear)
link(X1,2176031:Array,[])
link(X2,728611:Array,[(370,240)(412,240)])
link(X3,6808431:Position,[(377,280)(320,280)(320,340)(258,340)])
}
Add(CharArray,2176031,357,175)
{
Point(Count)
link(onLoad,728611:doLoad,[])
link(String,10636057:Text,[])
}
Add(CharArray,728611,406,175)
{
link(String,886768:Text,[])
}
Add(Hub,5893047,196,175)
{
OutCount=4
link(onEvent1,2176031:doLoad,[])
link(onEvent2,12719803:doOperation,[(240,188)(240,251)])
link(onEvent3,6808431:doFor,[(231,195)(231,300)])
link(onEvent4,12018936:doMessage,[(216,202)(216,370)])
}
Add(For,6808431,252,294)
{
End=5
link(onEvent,5339238:doCalc,[])
link(End,12719803:Result,[])
}
Add(Math,12719803,259,245)
{
OpType=1
Op2=1
link(Op1,2176031:Count,[(265,226)(377,226)])
}


карма: 0

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)