Автор Тема: Массивы  (Прочитано 30952 раз)

0 Пользователей и 1 Гость просматривают эту тему.

rulentus

  • Зашел в гости
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Массивы
« Ответ #30 : Март 18, 2015, 02:36:32 pm »
Блин. Точняк. Надо пробовать. Спасибо.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3111
  • Лечу куда хочу. cman 4.11.003, xp32
    • Просмотр профиля
Re: Массивы
« Ответ #31 : Март 18, 2015, 02:53:07 pm »
Можешь и через массив. Так даже проще если координат много.
Код: Clickermann
  1. STRSEPARATE("100:110:200:210:300:310:400:410:500:510", ":", $arr)
  2. $r = RND(0,ARRSIZE($arr)/2-1)
  3. LCLICK($arr[$r*2], $arr[$r*2+1])
« Последнее редактирование: Март 18, 2015, 02:54:51 pm от Vint »


Alex Li

  • Зашел в гости
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Массивы
« Ответ #32 : Январь 27, 2016, 01:01:53 am »
А как можно создать копию массива?
Я пробовал $var2=$var, но копировало только одно значение из массива.

Doda

  • Гость
Re: Массивы
« Ответ #33 : Январь 27, 2016, 01:10:26 am »
так в справке все написано же) (c)Alex Li
чтобы обратиться к массиву, нужно вызывать   элемент по индексу.
у вас есть массив $var, из 5 элементов, если хотите скопировать  массив, в другой массив $ret (только смысл?)
через цикл
Код: Clickermann
  1. for($i=0,$i<arrsize($var))
  2. arrpush($ret, $var[$i])
  3. end_cyc

Золотой

  • Оплот сообщества
  • ****
  • Сообщений: 312
    • Просмотр профиля
Re: Массивы
« Ответ #34 : Январь 27, 2016, 01:11:13 am »
А как можно создать копию массива?
Я пробовал $var2=$var, но копировало только одно значение из массива.
Код: Clickermann
  1. // записывает массив в файл
  2. TFWRITEARR("file.txt", $arr1)
  3. //списывает массив  из файла
  4. TFREADARR("file.txt", $arr2)
  5. //удаляет файл
  6. TFCLEAR("file.txt", 1)
  7.  

Alex Li

  • Зашел в гости
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Массивы
« Ответ #35 : Январь 27, 2016, 09:31:00 pm »
Цитировать
так в справке все написано же)

Надеялся на некий незадокументированный способ  ;)
А так действительно смысла нет - легче не arrpop' ом а просто считывать
Браm комара, Золотой спасибо!
« Последнее редактирование: Январь 27, 2016, 09:33:12 pm от Alex Li »

zanogu

  • Зашел в гости
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Массивы
« Ответ #36 : Сентябрь 19, 2016, 03:24:06 pm »
Привет!
Подскажите как сделать сравнение переменной с каждым значением в массиве, если значение уникальное (в массиве нет такого) внести в этот же массив и т.д. Размерность массива 30

Заранее благодарю за ответ.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3178
  • Котэ
    • Просмотр профиля
Re: Массивы
« Ответ #37 : Сентябрь 19, 2016, 04:18:47 pm »
Привет!
Подскажите как сделать сравнение переменной с каждым значением в массиве, если значение уникальное (в массиве нет такого) внести в этот же массив и т.д. Размерность массива 30

Заранее благодарю за ответ.


Код: Clickermann
  1. ARRPUSH($arr, 1) // создаем массив $arr для примера
  2. ARRPUSH($arr, 2)
  3. ARRPUSH($arr, 3)
  4.  
  5. $c = 5 // переменная $c для сравнения с массивом
  6.  
  7. $check = 1 // флаг переключатель
  8. FOR($a=0,($a<ARRSIZE($arr))&($check = 1)) // цикл сравнения
  9.   IF($arr[$a] = $c)
  10.      $check = 0 // если совпадение найдено, выключаем
  11.   END_IF
  12. END_CYC
  13. IF($check = 1) // если совпадение не было найдено
  14.   ARRPUSH($arr, $c) // добавляем значение в массив
  15. END_IF

SSJnix

  • Зашел в гости
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Массивы
« Ответ #38 : Сентябрь 17, 2017, 02:25:18 pm »
// массив из трех элементов
$var[0] = 1
$var[1] = 2
$var[2] = 3

$result = 0 // накапливаемая сумма

// перебор через цикл элементов массива [0 .. 2]
for($i, $i < 3)
  $result = $result + $var[ $i-1 ]
end_cyc

// вывод суммы элементов
print( $result )

в справке массивов данный код выдает ошибку интерпретации строки $result = $result + $var[ $i-1 ]

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3178
  • Котэ
    • Просмотр профиля
Re: Массивы
« Ответ #39 : Сентябрь 17, 2017, 03:10:35 pm »
Там просто старый пример, раньше цикл FOR работал иначе. Теперь -1 в $var[ $i-1 ] писать не надо.

SSJnix

  • Зашел в гости
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Массивы
« Ответ #40 : Сентябрь 17, 2017, 03:32:15 pm »
Спасибо за ответы