Сравнивание двух массивов

Простейшие вопросы в области инженерной разработки
Ответить
Vya4ko
beginner
beginner
Сообщения: 49
Зарегистрирован: 02 мар 2009, 11:14
Версия LabVIEW: 8.6
Контактная информация:

Сравнивание двух массивов

Сообщение Vya4ko »

Помогите пожалуйста
Есть два двумерных массива, в каждом из них 2 столбца.

Нужно сделать так чтобы сравнивались элементы из первого столбца первого массива с элементами первого столбца второго массива.
Понятно чтобы их сравнить нужно сделать цикл в цикле с индексациями в разных местах.
И как только они сравнялись нужно сделать операцию (например взять сумму) с соответствующими элементами из вторых столбцов обоих массивов, но еще параллельно с этим хотелось бы сделать так, чтобы если элементы сравнялись, внутренний цикл дальше не сравнивал значения а продолжил сравнивать следующее значение внешнего цикла. Т.Е. есть условие того что такое значение которое может совпасть единственное в обоих массива. Это в принцыпе не обязательно но для быстродействия программы было бы очень полезно, просто первый массив из 14000 а второй из 11000 строк.
Результатом проги должен быть двумерный массив из совпадающих значений первых столбцов и суммы вторых столбцов соотведствующих значений.

Вроде сделать не сложно но застрял на сборе значений.

Спасибо.
Последний раз редактировалось Vya4ko 29 апр 2010, 19:19, всего редактировалось 1 раз.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Сравнение двух списков

Сообщение mzu2006 »

покажи, что уже сделано и где застрял
Vya4ko
beginner
beginner
Сообщения: 49
Зарегистрирован: 02 мар 2009, 11:14
Версия LabVIEW: 8.6
Контактная информация:

Re: Сравнение двух списков

Сообщение Vya4ko »

Вот что есть

Добавил еще 2 списка чтобы сразу можно было посмотреть результат
В принцыпе понятно что как только временные значения совпали можно отправить на условие конца цыкла значение при котором он закончит его считать те "1" или "0"

Просто мне нужен совет как собрать нужный мне массив на выходе
Вложения
3 PROGA sostavnaya.vi
(17.11 КБ) 128 скачиваний
GZM0 (28042010-28042010) (DONE).txt
(288.55 КБ) 114 скачиваний
GAZP (28042010-28042010) (DONE).txt
(293.71 КБ) 119 скачиваний
Vya4ko
beginner
beginner
Сообщения: 49
Зарегистрирован: 02 мар 2009, 11:14
Версия LabVIEW: 8.6
Контактная информация:

Re: Сравнивание двух массивов

Сообщение Vya4ko »

помогите плз

целый день сижу никак не получается
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Сравнивание двух массивов

Сообщение mzu2006 »

Три комментария:

1. Я предлагаю разобраться с shift регистрами. Выходной массив лепил бы как-нибуть так:
Clipboard01.png
Clipboard01.png (3.09 КБ) 3298 просмотров
2. Если первый столбец - это действительно временные отсчёты, то определить какой из них стартует раньше и Search 1D Array тебе в помошь.

3. Для быстрой работы я бы использовал алгоритм типа 3-его шаг сортировки слиянием, а именно самого слияния: http://ru.wikipedia.org/wiki/Сортировка_слиянием
alexander756

Activity
professional
professional
Сообщения: 301
Зарегистрирован: 12 июн 2008, 19:56
Награды: 1
Версия LabVIEW: 8.6; 2009
Откуда: Montreal
Контактная информация:

Re: Сравнивание двух массивов

Сообщение alexander756 »

У тебя почти все получилось, проверь мою версию. У тебя разное количество строк в файлах и следовательно результат будет разный, в зависимости от того какой файл читается первым. Чтобы такого не происходило, тебе сразу после чтения надо проверять размерность массивов и больший массив отправлять по нижнему пути
Вложения
3 PROGA sostavnaya.vi
(16.05 КБ) 159 скачиваний
Vya4ko
beginner
beginner
Сообщения: 49
Зарегистрирован: 02 мар 2009, 11:14
Версия LabVIEW: 8.6
Контактная информация:

Re: Сравнивание двух массивов

Сообщение Vya4ko »

Спасибо всем огромное.

Да действительно в таком случае придется сравнивать, просто перед этим сделаю проверку размерностей, может даже со структурой CASE.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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