Имя: Пароль:
1C
1С v8
Объединить два массива
,
0 M0narch
 
25.04.13
17:27
Имеем два массива. Как получить в результате один новый массив, с элементами, которые есть в обоих массивах ?
1 Wobland
 
25.04.13
17:28
какие варианты ответа?
2 drcrasher
 
25.04.13
17:29
ага, голосовалку добавь =)
3 M0narch
 
25.04.13
17:29
(1) пока только перебор на ум приходит
4 ДенисЧ
 
25.04.13
17:30
Запросом
5 Rie
 
25.04.13
17:30
(3) Перебор. Но только - после сортировки.
6 Maxus43
 
25.04.13
17:30
я за перебор, зачем усложнять
7 Wobland
 
25.04.13
17:31
(6) перебор может оказаться менее эффективным, нежели получение нужного массива из того места, откуда получаются заявленные два. но автор темнит
8 Rie
 
25.04.13
17:31
(6) Элементы могут повторяться. Сортировка позволит отсеять их сразу. А иначе - придётся пое^Hмаяться.
9 Fragster
 
гуру
25.04.13
17:32
соответствие и 3 цикла
10 Нуф-Нуф
 
25.04.13
17:33
Массив3 = Массив1 + Массив2. иниипет
11 zak555
 
25.04.13
17:33
Для Каждого из ЭлементКороткогоМассива Из КороткийМассив
  Если ДлинныйМассив.Найти(ЭлементКороткогоМассива) = Неопределено Тогда
         ДлинныйМассив.Дабавить(ЭлементКороткогоМассива );
  КонецЕсли;
КонецЦикла;
12 M0narch
 
25.04.13
17:36
(11) наоборот скорее всего
13 Serg_1960
 
25.04.13
17:38
Массивы выгрузить в ТЗ. ТЗ - две колонки: значение из массива и счетчик (1). Потом ТЗ свернуть по значению, суммируя счетчик... продолжить или и так всё ясно?
14 M0narch
 
25.04.13
17:39
(13) ясно
15 patapum
 
25.04.13
17:52
(0) интересно, задача, которую я придумал давать на собеседованиях потенциальным стажерам, чтобы проверить наличие алгоритмического мышления (когда я еще во фране работал). ТС, откуда тебе задача прилетела?
16 M0narch
 
25.04.13
18:50
(15) ваяю тут кое что
17 MaxisUssr
 
25.04.13
18:52
(0)
Я бы запросом сделал
18 Fragster
 
гуру
25.04.13
19:20
(17) проясвяти, плиз, как запросом сделать такое для массивов [1, 2, 3] и ["й", "ц", "у"]. Результат, соответственно, должен получиться примерно такой: [1, 2, 3, "й", "ц", "у"]
19 Rie
 
25.04.13
19:25
(18) Легко.
ВЫБРАТЬ
   Массив.Значение
ПОМЕСТИТЬ М1
ИЗ
   &Массив КАК Массив;
ВЫБРАТЬ
   Массив.Значение
ПОМЕСТИТЬ М2
ИЗ
   &Массив КАК Массив;
ВЫБРАТЬ
   Значение
ИЗ
   М1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   Значение
ИЗ
   М2
20 Fragster
 
гуру
25.04.13
19:25
(19) а с какого релиза работает такая выборка из массива?
21 Rie
 
25.04.13
19:26
(2) А кто сказал, что из массива? Из таблицы значений, созданной из массива.
22 Fragster
 
гуру
25.04.13
19:27
кстати, в последнем запросе не "выбрать ... объединить все выбрать ...", а "выбрать различные ... объединить выбрать различные ..."
23 Rie
 
25.04.13
19:28
(22) Там и в первых запросах не &Массив, а &Массив1 и &Массив2 должно быть.
24 Fragster
 
гуру
25.04.13
19:28
(21) т.е. 2 цикла, чтобы определить типы, 2 цикла чтобы наполнить таблицы, запрос, выгрузить, выгрузить колонку? Кривовато же...
25 Rie
 
25.04.13
19:30
(24) Почему циклы? ЗагрузитьКолонку().
Но я никоим образом не настаиваю на варианте из (17), моё предложение - (5). Я лишь к тому, что можно и запросом - если вдруг свободное время выдалось и занять его нечем.
26 Fragster
 
гуру
25.04.13
19:30
(25) чтобы загрузитьколонку - надо сначала строки создать...
27 Fragster
 
гуру
25.04.13
19:31
(26)+ а это только в цикле же
28 Rie
 
25.04.13
19:34
(27) Согласен. Надо переходить на 7-ку - там и без цикла можно :-)
29 M0narch
 
26.04.13
10:32
(18) по условию задачи из массивов [1, 2, 3] и ["й", "ц", "у"] должен получиться пустой массив, так как совпадающих элементов нет
30 Fragster
 
гуру
26.04.13
12:20
(29) а ведь и правда
AdBlock убивает бесплатный контент. 1Сергей