Как создать многомерный массив в семёрке? #217726


#0 by FantomG
Подскажите, как создать многомерный массив в семёрке?
#1 by Морозов Александр
ТЗ
#2 by FantomG
Меня интересует синтаксис:
#3 by Морозов Александр
только одномерный массив... а чем таблица значений не устраивает?
#4 by AlexMir
#5 by Морозов Александр
чего, в семерке стали возможны многомерные массивы?... н езнал
#6 by FantomG
При попытке завести Перем МояТабл[X,Y]1 возмущается на запятую2 просит целое число...
#7 by kn
Показывает как можно представить элемент(i,j)c помощью одномерного массива.
#8 by Морозов Александр
аааа... точно. Маньяк однако :-)
#9 by Wasya
ТЗ гораздо медленнее массива. i+10*(j-1) вычисление этого выражения занимает много времени.
#10 by kn
В общем случае не на 10 же умножается.
#11 by Hadgehogs
Красиво, элегантно я бы сказал... А трехмерный сможешь?
#12 by pit
Элементом массива м.б. массив....P.S. прав. В ряде задач массив гораздо быстрее...
#13 by Wasya
Элементом массива м.б. массив...pit приведи пример. Оч.нужно.
#14 by pit
если в языке есть массив, по сути любое написание в языке М[i,j] разворачивается в i + РазмJ * (j-1)Эта формула действительна для массивов любой размерности.
#15 by pit
да вроде там все простенько и прямолинейно...Просто давно уже массивы использую редко .... в основном с тз работаю...А эта штука (массив в массиве) - юзалась в 7.5 - там ТЗ не было, приходилось изгаляться...P.S. единственный недостаток - статическое определение размерности....
#16 by Шухер
Регистры - пример многомерного массива.СмахарбА на вбскрипт и ехель делает скокхошмерный. забыл смайл поставить?
#17 by Шухер
Забыл спросить - зачем нужен массив-то?
#18 by ScareCrow
элементами списка значений могут быть списки значений...
#19 by AIex
Аха, кстати. Сколь задач не решал, многомерный и то дву... понадобился лишь раз, и то юзал ТЗ.Хотя балуюсь ВК, не люблю средствами бейсика 1С решать сложные задачи.
#20 by Шухер
Документ - тоже готовый многомерный массив, а ежелиф в него еще внедрить твой список значений, да тип заменить на справочник, воображения не хватит представить такой массив.хех, работать надо-ть, сижу тут, а время идет.
#21 by АЛьФ
2 Это ты фигню полную сказал. Только, как всегда, не признаешься ведь.
#22 by Шухер
Автор в проверил, обиделся и ушел. Не захотел общаться. А я все жду ответ на 17.АЛьФ, с тобой тоже не разговаривают? :)
#23 by АЛьФ
2 Ага. Но я и не ждал ответа :)
#24 by pit
Интересно, какого ответа ждет Альф... Вообще то обращения к массиву действительно быстрееА двумерный массив лично мне был нужен для расчета за месяцМассив М [31, N ] ..... где Н определялось весьма нетривиально....Но в 7.7 появилась ТЗ (динамический массив) , и все извраты 7.5 с массивами и списками значений ушли в тень...
#25 by АЛьФ
2 Ты как всегда невнимателен. Я НЕ жду ответа. Понятно же, что ты не признаешься, что фигню сморозил.
#26 by fisher
2 Элементом массива в 7.7 и в 7.5 не может быть массив. Таблицы значений в 7.5 эмулировались вложенными списками значений, это да.
#27 by Пудель
Хм. Массив массивов точно нельзя? А если:Массив[НомерПозиции]=ВремМассив[10];......??
#28 by АЛьФ
Ну ты хоть немного проверяй перед тем как запостить. Не уподобляйся питу.---В первом случае:У тебя будет то же, что и в написано.---Во втором случае:Возврат ВремМассив<<?>>;{}: Ожидается скалярное выражение (ВремМассив)
#29 by Пудель
Нету у меня здесь 7.7, сорри, тока 8.0.В первом случае описка, надо было так:Массив[НомерПозиции]=ВремМассив;...
#30 by АЛьФ
2 Ну и получишь ту же ошибку, что и во втором случае. Может не надо больше гадать?
#31 by pit
Значит, я чего то путаю 7.5 и 7.7. Вообще то с массивами я работал в 7.5 - ну не нравились мне списки значений, тем более вложенные....И до такой работы с массивами я допер не сам - подглядел фичу по работе с ними в отчете другого чела... Долго въехать не мог....P.S. в 7.7 массивом не пользовался, наверное, ни разу - сразу работу с ТЗ начал...
#32 by АЛьФ
2 "до такой работы с массивами" - это до какой? До тайной, которую никому не покажешь? :)Ну сделай одолжение, признайся, что лопухнулся. :)
#33 by Пудель
Да, действительно (добравшись до 7.7 и проверив). А что, тебя напрягает, когда гадают? :)
#34 by АЛьФ
2 Ага, напрягает. Не люблю, когда ляпают наугад, лишь бы засветить свое мнение. Причем ляпают утвердительно и без капли сомнения (а некоторые еще потом с пеной у рта доказывают, что не просто ляпнули, а высказали продуманную мысль :)))
#35 by Пудель
Ты знаешь, иногда ведь устаёшь думать и высказывать только гарантированно верное мнение :). Ошибка и заблуждение - святое право каждого человека :).
#36 by АЛьФ
2 Лучше уж тогда промолчать, чем высказывать гаранированно неверное мнение.
#37 by Пудель
То есть дискуссии, поиск верного решения ты отрицаешь? А зачем тогда вообще форум? Только для лентяев?
#38 by pit
да просто Альф до сих пор не может сообразить, в каких случаях нельзя поймать интерактивное удаление (пометку на удаление) элемента справочника...У него якобы работает всегда, а у меня эта проца молчит.... Ибо я ее наколол...P.S. и никто ему не подскажет...
#39 by настоящий джедай
а-а-а-а, pit лопухнулся
#40 by pit
Ежели найду 7.5 - проверю... Попытаюсь вспомнить...
#41 by Wasya
И как тогда быть?Есть матрица 1000х1000. Надо очень, очень, очень быстро доставать нужное значение.
#42 by АЛьФ
2 Поиск верного решения - это не есть "стрельба наугад". Я лично поклонник нормального обсуждения, в котором автор поста хотя бы проверяет предлагаемый код в конфигураторе на синтаксис.2 Да не горячись ты так. Лопухнулся, бывает.2 Тебе ж дали решение в . Что у тебя за данные в этом массиве хранятся?
#43 by Wasya
i+10*(j-1) вычисляется непозволительно долгоМатрица смежности графа.
#44 by orefkov
Не верю! (с)Замер производительности приведи.
#45 by АЛьФ
2 Если для тебя это действительно непозволительно долго, то имеет смысл задуматься о переводе нужного алгоритма в ВК. Там можно намного более высоких скоростей обработки добиться. Только сомневаюсь я сильно, что тебе действительно дорога каждая миллисекунда и основное время теряется именно на этом вот вычислении.
#47 by 2Green
#48 by АЛьФ
2 В абсолютном исчислении это сколько будет?
#49 by Wasya
Весь алгоритм с данным примером работает 5 секунд. Для замера взял несложный пример.Есть примеры которые работают по 30 минут.
#50 by orefkov
Ну, если сравнивать хотя бы со строкой КонецФункции, не так уж и тормозит.Ты тестировал весь свой алгоритм или только индексацию массива?
#51 by АЛьФ
2 За 5 секунд 1349077 проходов, так? И ты считаешь, что это "непозволительно долго"?! Может в консерватории что подправить?
#52 by Шухер
вроде разговор, что долго делается вычисление: i+x*(j-1)где-то эта строка при определенных парам делается 30 мин, и тормозит весь алгоритм?
#53 by Wasya
тестировал весь алгоритм (поиск подграфа в графе) уточненные данные алгоритм работает 30 секунд (без отладчика), под отладчиком (при замере) 6 минут.Насчет консерватории - обязательно подправлю. Буду считать что работает "непозволительно быстро".
#54 by Шухер
Хе, померил:
#55 by АЛьФ
2 Комментарии не влияют на скорость выполнения кода. Они удаляются при компилировании модулей.
#56 by kos
Математика в 1С-е раз так в тысячу медленнее чем, например, на VC.Сам для опытов в диссертации сваял базку на 1С (уж больно быстро интерфейс и структуру БД делать, особенно когда знаешь как), математику всю пришлось в ВК выносить. Для вывода нормальных графиков использовал teechart.ocx =)
#57 by АЛьФ
2 Не "в тысячу", наверное, все же, а "в тысячи". А то и десятки тысяч.
#58 by 101
мозги приложить
#59 by smaharbA
#60 by АЛьФ
2 Да... Это, конечно, будет намного быстрей работать :)
#61 by smaharbA
да не конечно, так вариан, хотя сортировка думаю будет быстрее
#62 by smaharbA
+ если будут не агрегатные типы, то быстрее будет и без сортировки, и размерность какая хошь и массив в массиве...
#63 by АЛьФ
2 Для человека вычисление простого арифметического выражения - "непозволительно долго", а ты предлагаешь обращение к OLE вместо этого.
#64 by smaharbA
Да ничего я не предлагаю, но вот к примеру пользование safeArray в 7.7 для получения данных с листа екселя оказалось быстрее даже чем АДО
#65 by Шухер
АЛьФ, чем объяснить, посторонние процессы? несколько раз запускал, без коммента реально всегда быстрее получается.
#66 by АЛьФ
2 Погрешность отладчика при замере.
#67 by Пудель
Не только у 1С, например, у вычислительного пакета Mathematica по сравнению с C очень низкая скорость. Это не они плохие... это C хороший :).
#68 by pit
такое впечатление, что путаешь агрессию и проституцию....
#69 by Target
Далеко не факт, что С хороший. Сложи в float или double 0.3 и 0.4, потом напечатай полученный результат. Как думаешь, допустима такая ошибка в финансовых документах?
#70 by Пудель
Хамишь, если что. :))) ты считаешь, что printf("%lf",0.3+0.4); выдаст что-либо, кроме 0.7? :)
#71 by pit
http://pudel.mneniya.ru
#72 by Пудель
Отличный сайт :).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С