powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с двумя массивами
7 сообщений из 7, страница 1 из 1
Помогите разобраться с двумя массивами
    #37470674
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Условие на картинке.
Честно с массивами не работал, но вот тут нужда заставила писать более сложную программу и теперь ищу вашей поддержки.

Есть 2 таблицы, как считать данные с таблицы Второй в массив, если он имеет такую структуру, как на рисунке и в дальнейшем сравнивать Код Первого массива с кодом Второго, т.е. если значение кода Первый (1)= код Второй(3) идет сравнение наименований т.е. Первый (1) - стул = Второй(3) - цветы? Если нет, сверяем дальше Первый (1) - стул = Второй(3) – трава? и.т.д

Как это можно организовать?
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37471205
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobax012,

а что должно быть в остатке? Покажите результирующую таблицу. Пояснения не достаточно ясны.

И еще. Где находятся исходные данные? В текстовом файле, в екселе, в БД?
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37471972
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldBobax012,

а что должно быть в остатке? Покажите результирующую таблицу. Пояснения не достаточно ясны.

И еще. Где находятся исходные данные? В текстовом файле, в екселе, в БД?


Данные находятся в таблицах MSHFlexGrid (загрузил их из текстовых файлов).
Хочу данные обеих таблиц считать в массивы и затем проверять на схожесть.
Вот еще раз пример
Если Первый (1)= Второй(3), тогда идет проверка их Наименований
Смотрим, Первый (1) – Стул равен Второй(3) – Цветы? НЕТ
Проверяем следующий элемент во 2 таблице
Смотрим, Первый (1) – Стул равен Второй(3) – Трава? НЕТ
Проверяем следующий элемент во 2 таблице
Смотрим, Первый (1) – Стул равен Второй(3) – Стул? ДА
Исключить из Второго массива эту строку, т.е. в нем останется Цветы, Трава, Бумага
Пишем в ListBox Первый (1) – Стул (СУЩЕСТВУЕТ)
Переходим в следующему элементу Первого массива
Смотрим, Первый (1) – Паста равен Второй(3) – Цветы? НЕТ
Проверяем следующий элемент во 2 таблице
Смотрим, Первый (1) – Паста равен Второй(3) – Трава? НЕТ…
Если наименование 1-го массива не нашлось во втором, просто переходим к следующей строке 1-го массива т.е. Первый (1) – Мыло

Результат записываю в ListBox в таком виде
Первый (1) – Стул (СУЩЕСТВУЕТ)
Первый (1) – Паста (НЕ СУЩЕСТВУЕТ)
Первый (1) – Мыло (НЕ СУЩЕСТВУЕТ)
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37471997
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ключевое слово ТРАВА!
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37472001
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bobax012,
- как поступать в том случае, если коды первого и второго массива совпадают ?
- могут ли быть повторения наименований в первом массиве (при одинаковых кодах/ при разных кодах) ?
- могут ли быть повторения наименований во втором массиве (при одинаковых кодах/ при разных кодах) ?
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37472020
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bobax012,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
' допущения:
'  -наименования в первой таблице уникальны
'  -значения с одинаоквыми кодами не сравниваются

dim n&, m&
dim arr1$(), arr2$(), arr3$()
dim i&,ii&

' получем количество записей в первой и второй таблице в переменные n и m
' ...

' инициализируем массивы
redim arr1( 1  to n,  1 )
redim arr2( 1  to m,  1 )
redim arr3( 1  to n)

' заполняем массивы arr1 и arr2 данными из первой и второй таблицы
' коды берем без префиксов "Первый (", "Второй (" 
' ....

' ищем соответствий
for i= 1  to n
  for ii= 1  to m
  if arr1(i, 0 )<>arr2(ii, 0 ) then  'коды не равны
    if arr1(i, 1 )=arr2(ii, 1 ) then ' наименования равны
	  arr3(i)="Первый ("& arr1(i, 0 ) &" - "& arr1(i, 1 ) &" (СУЩЕСТВУЕТ)"
	  exit for
	end if
  end if
  next ii
  if len(arr3(i))= 0  then _
  arr3(i)="Первый ("& arr1(i, 0 ) &" - "& arr1(i, 1 ) &" (НЕ СУЩЕСТВУЕТ)"
next i

' заполняем листбокс значениями массива arr3
' ...

' освобождаем память
erase arr1,arr2,arr3
...
Рейтинг: 0 / 0
Помогите разобраться с двумя массивами
    #37477553
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

Спасибо, попробую разобраться:)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с двумя массивами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]