Author Topic: проблема с алгоритмом вывода ( данные льются непрерывно)  (Read 2143 times)

0 Members and 2 Guests are viewing this topic.

lamer

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
В общем, неприрывно льются циферки. Чтобы выводить их в момент изменения, на С++ buider я бы написал:
Code: [Select]
           $ready_res1_old = 0
           $ready_res2_old = 0
       IF (($ready_res1_old != $ready_res1) || (($ready_res2_old !=  $ready_res2)) // если старые значения не равны новым
   
         
  LOGWRITE( $ready_res1,"  ",$ready_res2, "  ")

END_IF

$ready_res1_old = $ready_res1 //после новые значения записываются в старые
$ready_res2_old = $ready_res2

Таким образом, данные должны выводиться при их смене. Подскажите, как оформить в clickermann-e? :)
И какой тег использовать в сообщении, чтобы код нормально выводился?) Использую "CODE" - выводится не очень. Подскажите - исправлю:)
« Last Edit: January 23, 2016, 03:11:06 PM by lamer »

Doda

  • Guest
Code: (clickermann) [Select]
if ($x!0)//
   $savex=$x
end_if
$X=RNDFROM(1,1,1,1,1,2) //ЛЬЮЩИЕСЯ ДАННЫ
print($X, "рандом")
if  ($x!$savex)
   print($X, "изменение")
end_if

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
IF (($ready_res1_old ! $ready_res1) | ($ready_res2_old ! $ready_res2)) // если старые значения не равны новым
   LOGWRITE($ready_res1,"  ",$ready_res2)   
END_IF
$ready_res1_old = $ready_res1 //после новые значения записываются в старые
$ready_res2_old = $ready_res2

lamer

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Большое спасибо! Мой код заработал, Спасибо всем! Дело лишь в том, что я не верно писал логические операторы... А я то думал... :)

lamer

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Дабы не создавать новую тему, задам новый вопрос тут :)

Получая значения $ready_res1 и $ready_res2 необходимо их записать в массивы $mas_res1 и $mas_res2,  при условии, чтобы одно из значений $ready_res1 и $ready_res2 - было не повторяющимся. Первые 2 значения $ready_res1 и $ready_res2  должны быть записаны в первые две ячейки массивов.   

Помогите пожалуйста :)

Doda

  • Guest
Code: (clickermann) [Select]
IF (($ready_res1_old ! $ready_res1) | ($ready_res2_old ! $ready_res2)) // если старые значения не равны новым
   LOGWRITE($ready_res1,"  ",$ready_res2)
$flag   =1
END_IF
$ready_res1_old = $ready_res1 //после новые значения записываются в старые
$ready_res2_old = $ready_res2
if (($dva<2)&($flag=1))
for ($pp=0, $pp<arrsize($ready_res1_oldd))
if ($ready_res1_oldd[$pp]!$ready_res1_old)
$mass1=1
end_if
end_cyc
if (mass1=1)
apprush($ready_res1_oldd, $ready_res1_old)
mass1=0
end_if
end_cyc
for ($pp=0, $pp<arrsize($ready_res2_oldd))
if ($ready_res2_oldd[$pp]!$ready_res2_old)
$mass2=1
end_if
end_cyc
if (mass2=1)
apprush($ready_res2_oldd, $ready_res2_old)
mass2=0
end_if
inc($dva)
$flag   =0
end_if
« Last Edit: January 23, 2016, 10:10:46 PM by Браm комара »

lamer

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Code: (clickermann) [Select]
IF (($ready_res1_old ! $ready_res1) | ($ready_res2_old ! $ready_res2)) // если старые значения не равны новым
   LOGWRITE($ready_res1,"  ",$ready_res2)
$flag   =1
END_IF
$ready_res1_old = $ready_res1 //после новые значения записываются в старые
$ready_res2_old = $ready_res2
if (($dva<2)&($flag=1))
apprush($ready_res1_oldd, $ready_res1_old)
apprush($ready_res2_oldd, $ready_res3_old)//в массивы
$dva=0
end_if

Пардоньте, я маленько не ясно задачу описал :( Результаты $ready_res1 и $ready_res2 могут повторяться. И нужно, чтобы массивы содержали уникальные значения, а не повторные. Тоесть, если получаю значения  $ready_res1 = 1 и $ready_res2 = 2 ,то mass1[0] = 1 , mass2[0] = 2. Дальше приходят если такие-же $ready_res1 = 1 и $ready_res2 = 2, то они никуда не записываются. А если приходят $ready_res1 = 3 и $ready_res2 = 8 - они записываются уже во вторые ячейки mass1[1] = 3 , mass2[1] = 8, соответственно. Так же, если приходит одно уникальное значение, а второе повторное $ready_res1 = 4 и $ready_res2 = 8, то эти числа тоже нужно записать в mass1[2] = 4 , mass2[2] = 8 .

  Вот такой ужас ;D

Doda

  • Guest
Code: (clickermann) [Select]
IF (($ready_res1_old ! $ready_res1) | ($ready_res2_old ! $ready_res2)) // если старые значения не равны новым
   LOGWRITE($ready_res1,"  ",$ready_res2)
$flag   =1
END_IF
$ready_res1_old = $ready_res1 //после новые значения записываются в старые
$ready_res2_old = $ready_res2
if (($dva<2)&($flag=1))
for ($pp=0, $pp<arrsize($ready_res1_oldd))
if ($ready_res1_oldd[$pp]!$ready_res1_old)
$mass1=1
end_if
end_cyc
for ($pp=0, $pp<arrsize($ready_res2_oldd))
if ($ready_res2_oldd[$pp]!$ready_res2_old)
$mass2=1
end_if
end_cyc
if ((mass1=1)|(mass2=1))
apprush($ready_res1_oldd, $ready_res1_old)
mass1=0
end_if
end_cyc

if ((mass1=1)|(mass2=1))
apprush($ready_res2_oldd, $ready_res2_old)
mass2=0
end_if
inc($dva)
$flag   =0
end_if

во
« Last Edit: January 23, 2016, 10:14:25 PM by Браm комара »