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

Простейшие вопросы в области инженерной разработки

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

Postby Oleg815 on 24 Mar 2017, 19:18

Имеется булевский массив. Предположим 10на10 и два элемента из всех "тру". Как можно выделить индекс этих элементов ?
Oleg815
interested
interested
 
Posts: 5
Joined: 24 Mar 2017, 19:05
LabVIEW Version: 14
Karma: 0

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

Postby IvanLis on 24 Mar 2017, 20:53

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


При таком объеме можно и перебором пройтись:
1.png
Untitled 1.vi
lv2010
(10.44 KiB) Downloaded 26 times
User avatar
IvanLis
professor
professor
 
Posts: 4376
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 675
hardware VIP bloggers teachers

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

Postby Oleg815 on 24 Mar 2017, 22:09

Спасибо большое. Это к примеру 10 на 10. А если объемы намного больше, варианты еще какие-нибудь есть ?
Oleg815
interested
interested
 
Posts: 5
Joined: 24 Mar 2017, 19:05
LabVIEW Version: 14
Karma: 0

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

Postby Borjomy_1 on 24 Mar 2017, 22:22

Делать OR Array (построчно) и искать труёвые строки. Далее искать в строках. Получается N+M проходов, а не N*M, как в случае обхода матрицы. Правда все это от лукавого... Я не знаю, насколько эффективно выполняется копирование строки и OR Array, относительно поэлементного обхода. Во втором случае выделяется память только под одну переменную. А в первом - строка. Для больших массивов (10к+) это становится критично. В общем, весь выигрыш съест копирование в промежуточный массив.
Borjomy_1
expert
expert
 
Posts: 1679
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 295
VIP

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

Postby IvanLis on 24 Mar 2017, 22:31

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


Можно к 1D перейти, а потом индексы пересчитать, как это сделать написано тут: https://forums.ni.com/t5/LabVIEW/search ... m-p/827224
Наверняка получится быстрее, чем построчно лопатить.
User avatar
IvanLis
professor
professor
 
Posts: 4376
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 675
hardware VIP bloggers teachers

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

Postby Oleg815 on 25 Mar 2017, 16:56

Все получилось. Сделал как в ссылке описано, спасибо, выручили ))
Oleg815
interested
interested
 
Posts: 5
Joined: 24 Mar 2017, 19:05
LabVIEW Version: 14
Karma: 0


Return to Для чайников

Who is online

Users browsing this forum: Yandex and 3 guests

cron