Помогите пожалуйста
Есть два двумерных массива, в каждом из них 2 столбца.
Нужно сделать так чтобы сравнивались элементы из первого столбца первого массива с элементами первого столбца второго массива.
Понятно чтобы их сравнить нужно сделать цикл в цикле с индексациями в разных местах.
И как только они сравнялись нужно сделать операцию (например взять сумму) с соответствующими элементами из вторых столбцов обоих массивов, но еще параллельно с этим хотелось бы сделать так, чтобы если элементы сравнялись, внутренний цикл дальше не сравнивал значения а продолжил сравнивать следующее значение внешнего цикла. Т.Е. есть условие того что такое значение которое может совпасть единственное в обоих массива. Это в принцыпе не обязательно но для быстродействия программы было бы очень полезно, просто первый массив из 14000 а второй из 11000 строк.
Результатом проги должен быть двумерный массив из совпадающих значений первых столбцов и суммы вторых столбцов соотведствующих значений.
Вроде сделать не сложно но застрял на сборе значений.
Спасибо.
Сравнивание двух массивов
-
- beginner
- Сообщения: 49
- Зарегистрирован: 02 мар 2009, 11:14
- Версия LabVIEW: 8.6
- Контактная информация:
Сравнивание двух массивов
Последний раз редактировалось Vya4ko 29 апр 2010, 19:19, всего редактировалось 1 раз.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Сравнение двух списков
покажи, что уже сделано и где застрял
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 49
- Зарегистрирован: 02 мар 2009, 11:14
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Сравнение двух списков
Вот что есть
Добавил еще 2 списка чтобы сразу можно было посмотреть результат
В принцыпе понятно что как только временные значения совпали можно отправить на условие конца цыкла значение при котором он закончит его считать те "1" или "0"
Просто мне нужен совет как собрать нужный мне массив на выходе
Добавил еще 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 скачиваний
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Сравнивание двух массивов
Три комментария:
1. Я предлагаю разобраться с shift регистрами. Выходной массив лепил бы как-нибуть так: 2. Если первый столбец - это действительно временные отсчёты, то определить какой из них стартует раньше и Search 1D Array тебе в помошь.
3. Для быстрой работы я бы использовал алгоритм типа 3-его шаг сортировки слиянием, а именно самого слияния: http://ru.wikipedia.org/wiki/Сортировка_слиянием
1. Я предлагаю разобраться с shift регистрами. Выходной массив лепил бы как-нибуть так: 2. Если первый столбец - это действительно временные отсчёты, то определить какой из них стартует раньше и Search 1D Array тебе в помошь.
3. Для быстрой работы я бы использовал алгоритм типа 3-его шаг сортировки слиянием, а именно самого слияния: http://ru.wikipedia.org/wiki/Сортировка_слиянием
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: Сравнивание двух массивов
У тебя почти все получилось, проверь мою версию. У тебя разное количество строк в файлах и следовательно результат будет разный, в зависимости от того какой файл читается первым. Чтобы такого не происходило, тебе сразу после чтения надо проверять размерность массивов и больший массив отправлять по нижнему пути
- Вложения
-
- 3 PROGA sostavnaya.vi
- (16.05 КБ) 159 скачиваний
-
- beginner
- Сообщения: 49
- Зарегистрирован: 02 мар 2009, 11:14
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Сравнивание двух массивов
Спасибо всем огромное.
Да действительно в таком случае придется сравнивать, просто перед этим сделаю проверку размерностей, может даже со структурой CASE.
Да действительно в таком случае придется сравнивать, просто перед этим сделаю проверку размерностей, может даже со структурой CASE.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 23 Ответы
- 4628 Просмотры
-
Последнее сообщение maxim_MA