• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

LotusScript help me please

P

PeNgViN213

Есть два массива в одном наименование товара, во втором кол-во. Как сделать так чтобы LotusScript находил одинаковые наименования товара и складывал их кол-во из второго массива?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 947
609
BIT
246
Есть два массива в одном наименование товара, во втором кол-во. Как сделать так чтобы LotusScript находил одинаковые наименования товара и складывал их кол-во из второго массива?
издеваетесь?
это вопрос по базовым алгоритмам циклов...
бежим по индексу одновременно в двух массивах складываем результат в хэшмап (в ЛС - это Dim hashMap List As Long , как пример)
в хэшмапе поиск будет "автоматом" (по имени товара)
 
P

PeNgViN213

издеваетесь?
это вопрос по базовым алгоритмам циклов...
бежим по индексу одновременно в двух массивах складываем результат в хэшмап (в ЛС - это Dim hashMap List As Long , как пример)
в хэшмапе поиск будет "автоматом" (по имени товара)
Жесть, а что значит поиск автоматом? Я совсем днище, уж извините меня пожалуйста.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 947
609
BIT
246
Жесть, а что значит поиск автоматом? Я совсем днище, уж извините меня пожалуйста.
а как вы представляете себе поиск уже занесенного значения, в некую структуру?
hashMap объясняют для java
в LS алгоритм неизвестен (мне), но смысл использования такой же - по ключу ищем значение
в вашем случае, ключ - наименование товара, значение - кол-во
при использовании - не нужно перебирать стр-ру руками, достаточно указать, в коде, ключ и получим значение
суммируем с текущим (из цикла) и заносим обратно в стр-ру
Код:
Dim sumMap List As Long
Dim arrNames() As String, arrValues() As Long, i As Long
'... предполагаем, что массивы заполнили и они одинаковые по размеру индекса
For i=0 to Ubound(arrNames)
    if (Not IsElement(sumMap(arrNames(i))) Then
        sumMap(arrNames(i))=0
    End If
'вот это и есть автоматом (не нужно самому делать цикл)
    sumMap(arrNames(i))=sumMap(arrNames(i))+arrValues(i)
Next
'далее возможен перебор результатов для вывода
'...
ForAll sum in sumMap
'выводим в консоль (или статусбар нотуса)
    Print ListTag(sum) {:} sum
End ForAll
'...
 
P

PeNgViN213

а как вы представляете себе поиск уже занесенного значения, в некую структуру?
hashMap объясняют для java
в LS алгоритм неизвестен (мне), но смысл использования такой же - по ключу ищем значение
в вашем случае, ключ - наименование товара, значение - кол-во
при использовании - не нужно перебирать стр-ру руками, достаточно указать, в коде, ключ и получим значение
суммируем с текущим (из цикла) и заносим обратно в стр-ру
Код:
Dim sumMap List As Long
Dim arrNames() As String, arrValues() As Long, i As Long
'... предполагаем, что массивы заполнили и они одинаковые по размеру индекса
For i=0 to Ubound(arrNames)
    if (Not IsElement(sumMap(arrNames(i))) Then
        sumMap(arrNames(i))=0
    End If
'вот это и есть автоматом (не нужно самому делать цикл)
    sumMap(arrNames(i))=sumMap(arrNames(i))+arrValues(i)
Next
'далее возможен перебор результатов для вывода
'...
ForAll sum in sumMap
'выводим в консоль (или статусбар нотуса)
    Print ListTag(sum) {:} sum
End ForAll
'...
Спасибо за код с комментариями!!!!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!