Формирование массивов четных/нечетных элементов

Простейшие вопросы в области инженерной разработки
Ответить
XJlAMuD
interested
interested
Сообщения: 5
Зарегистрирован: 20 ноя 2022, 16:38
Версия LabVIEW: 2019
Контактная информация:

Формирование массивов четных/нечетных элементов

Сообщение XJlAMuD »

Здравствуйте!

Подскажите, пожалуйста, реализацию программы, которая брала бы исходный массив и формировала два новых массива: в одном хранятся элементы четных индексов (0, 2, 4...) исходного массива, в другом элементы нечетных индексов (1, 3, 5...) исходного массива. Делал реализацию в цикле, в который подается исходный массив. Количество итераций равно половине количества элементов исходного массива. Далее в цикле ставлю две Index Array Function. На одну подается четные индексы, которые берутся от счетчика итераций, в другую нечетные. Далее значения копятся в соединении Indexing и по завершении итераций кладутся в два других массива. При этом получается, что за одну итерацию у меня формируется по одному элементу в каждый массив (1я итерация индексы 0 и 1, 2я итерация индексы 2 и 3 и т.д.). При четном количестве элементов исходного массива проблем нет. Они начинаются, если число элементов исходного массива нечетное. Тогда один из массивов заполняется нулем в конце. Предполагаю, что нужно идти последовательно по индексам и если индекс четный, то добавлять элемент в один массив, если нечетный, то в другой, но Case не дает мне такое реализовать, жалуется на ошибку. Не подскажете логику программы?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Формирование массивов четных/нечетных элементов

Сообщение Kosist »

А как без кода Вам помочь? Покажите, что конкретно сделано...
А вообще, здесь Case Structure не нужна. Достаточно Conditional Output, https://www.ni.com/docs/en-US/bundle/la ... loops.html.
А в случае с Case Structure - без кода не понятно, что Вы делаете, но я догадываюсь - нужно массивы держать в shift register.
Мы делили апельсин - много наших полегло...
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Формирование массивов четных/нечетных элементов

Сообщение Юрий »

Варианты такие.
ЧётНечёт.png
XJlAMuD
interested
interested
Сообщения: 5
Зарегистрирован: 20 ноя 2022, 16:38
Версия LabVIEW: 2019
Контактная информация:

Re: Формирование массивов четных/нечетных элементов

Сообщение XJlAMuD »

Kosist писал(а): 28 дек 2022, 00:22 А как без кода Вам помочь? Покажите, что конкретно сделано...
А вообще, здесь Case Structure не нужна. Достаточно Conditional Output, https://www.ni.com/docs/en-US/bundle/la ... loops.html.
А в случае с Case Structure - без кода не понятно, что Вы делаете, но я догадываюсь - нужно массивы держать в shift register.

Вариант кода изначально был такой:

И вот в нем докидываются ноль в один из конечных массивов, в случае с нечетным числом элементов в исходном.
Вложения
1.jpg
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Формирование массивов четных/нечетных элементов

Сообщение Kosist »

Сокращать количество итераций смысла нет, сделайте проще:
Вложения
Even Odd.png
Мы делили апельсин - много наших полегло...
XJlAMuD
interested
interested
Сообщения: 5
Зарегистрирован: 20 ноя 2022, 16:38
Версия LabVIEW: 2019
Контактная информация:

Re: Формирование массивов четных/нечетных элементов

Сообщение XJlAMuD »

Kosist писал(а): 28 дек 2022, 01:03 Сокращать количество итераций смысла нет, сделайте проще:
Спасибо за ответ! Не знал о существовании Conditional в Tunnel Mode. Это очень сильно упрощает задачу.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»