Помогите разобраться с двумя массивами - VB
Формулировка задачи:
Условие на картинке.
Честно с массивами не работал, но вот тут нужда заставила писать более сложную программу и теперь ищу вашей поддержки.
Есть 2 таблицы, как считать данные с таблицы Второй в массив, если он имеет такую структуру, как на рисунке и в дальнейшем сравнивать Код Первого массива с кодом Второго, т.е. если значение кода Первый (1)= код Второй(3) идет сравнение наименований т.е. Первый (1) - стул = Второй(3) - цветы? Если нет, сверяем дальше Первый (1) - стул = Второй(3) – трава? и.т.д
Как это можно организовать?
Честно с массивами не работал, но вот тут нужда заставила писать более сложную программу и теперь ищу вашей поддержки.
Есть 2 таблицы, как считать данные с таблицы Второй в массив, если он имеет такую структуру, как на рисунке и в дальнейшем сравнивать Код Первого массива с кодом Второго, т.е. если значение кода Первый (1)= код Второй(3) идет сравнение наименований т.е. Первый (1) - стул = Второй(3) - цветы? Если нет, сверяем дальше Первый (1) - стул = Второй(3) – трава? и.т.д
Как это можно организовать?
Решение задачи: «Помогите разобраться с двумя массивами»
textual
Листинг программы
<font color="#00AA00">' допущения:</font>
<font color="#00AA00">' -наименования в первой таблице уникальны</font>
<font color="#00AA00">' -значения с одинаоквыми кодами не сравниваются</font>
<font color="blue">dim</font> n&, m&
<font color="blue">dim</font> arr1$(), arr2$(), arr3$()
<font color="blue">dim</font> i&,ii&
<font color="#00AA00">' получем количество записей в первой и второй таблице в переменные n и m</font>
<font color="#00AA00">' ...</font>
<font color="#00AA00">' инициализируем массивы</font>
<font color="blue">redim</font> arr1(<font color="darkblue"><b>1</b></font> <font color="blue">to</font> n, <font color="darkblue"><b>1</b></font>)
<font color="blue">redim</font> arr2(<font color="darkblue"><b>1</b></font> <font color="blue">to</font> m, <font color="darkblue"><b>1</b></font>)
<font color="blue">redim</font> arr3(<font color="darkblue"><b>1</b></font> <font color="blue">to</font> n)
<font color="#00AA00">' заполняем массивы arr1 и arr2 данными из первой и второй таблицы</font>
<font color="#00AA00">' коды берем без префиксов <font color="teal">"Первый ("</font>, <font color="teal">"Второй ("</font> </font>
<font color="#00AA00">' ....</font>
<font color="#00AA00">' ищем соответствий</font>
<font color="blue">for</font> i=<font color="darkblue"><b>1</b></font> <font color="blue">to</font> n
<font color="blue">for</font> ii=<font color="darkblue"><b>1</b></font> <font color="blue">to</font> m
<font color="blue">if</font> arr1(i,<font color="darkblue"><b>0</b></font>)<>arr2(ii,<font color="darkblue"><b>0</b></font>) <font color="blue">then</font> <font color="#00AA00">'коды не равны</font>
<font color="blue">if</font> arr1(i,<font color="darkblue"><b>1</b></font>)=arr2(ii,<font color="darkblue"><b>1</b></font>) <font color="blue">then</font> <font color="#00AA00">' наименования равны</font>
arr3(i)=<font color="teal">"Первый ("</font>& arr1(i,<font color="darkblue"><b>0</b></font>) &<font color="teal">" - "</font>& arr1(i,<font color="darkblue"><b>1</b></font>) &<font color="teal">" (СУЩЕСТВУЕТ)"</font>
<font color="blue">exit</font> <font color="blue">for</font>
<font color="blue">end</font> <font color="blue">if</font>
<font color="blue">end</font> <font color="blue">if</font>
<font color="blue">next</font> ii
<font color="blue">if</font> len(arr3(i))=<font color="darkblue"><b>0</b></font> <font color="blue">then</font> _
arr3(i)=<font color="teal">"Первый ("</font>& arr1(i,<font color="darkblue"><b>0</b></font>) &<font color="teal">" - "</font>& arr1(i,<font color="darkblue"><b>1</b></font>) &<font color="teal">" (НЕ СУЩЕСТВУЕТ)"</font>
<font color="blue">next</font> i
<font color="#00AA00">' заполняем листбокс значениями массива arr3</font>
<font color="#00AA00">' ...</font>
<font color="#00AA00">' освобождаем память</font>
<font color="blue">erase</font> arr1,arr2,arr3