Страница 1 из 1

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

Добавлено: 24 мар 2017, 19:18
Oleg815
Имеется булевский массив. Предположим 10на10 и два элемента из всех "тру". Как можно выделить индекс этих элементов ?

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

Добавлено: 24 мар 2017, 20:53
IvanLis
Oleg815 писал(а):Имеется булевский массив. Предположим 10на10 и два элемента из всех "тру". Как можно выделить индекс этих элементов ?
При таком объеме можно и перебором пройтись:
1.png
Untitled 1.vi
lv2010
(10.44 КБ) 91 скачивание

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

Добавлено: 24 мар 2017, 22:09
Oleg815
Спасибо большое. Это к примеру 10 на 10. А если объемы намного больше, варианты еще какие-нибудь есть ?

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

Добавлено: 24 мар 2017, 22:22
Borjomy_1
Делать OR Array (построчно) и искать труёвые строки. Далее искать в строках. Получается N+M проходов, а не N*M, как в случае обхода матрицы. Правда все это от лукавого... Я не знаю, насколько эффективно выполняется копирование строки и OR Array, относительно поэлементного обхода. Во втором случае выделяется память только под одну переменную. А в первом - строка. Для больших массивов (10к+) это становится критично. В общем, весь выигрыш съест копирование в промежуточный массив.

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

Добавлено: 24 мар 2017, 22:31
IvanLis
Oleg815 писал(а):Спасибо большое. Это к примеру 10 на 10. А если объемы намного больше, варианты еще какие-нибудь есть ?
Можно к 1D перейти, а потом индексы пересчитать, как это сделать написано тут: https://forums.ni.com/t5/LabVIEW/search ... m-p/827224
Наверняка получится быстрее, чем построчно лопатить.

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

Добавлено: 25 мар 2017, 16:56
Oleg815
Все получилось. Сделал как в ссылке описано, спасибо, выручили ))