Вход | Регистрация



Как создать ТаблицаЗначений с размером nxn?

Как создать ТаблицаЗначений с размером nxn?
Я
   Нач программист
 
06.10.16 - 14:29
ТЗ = Новый ТаблицаЗначений;
    
    Для Счетчик = 0 По РазмерТЗ - 1 Цикл
        
        ТЗ.Колонки.Добавить("Колонка"+Счетчик,Новый ОписаниеТипов("Строка"));
        
    КонецЦикла;
    
    Для Счетчик = 0 По РазмерТЗ - 1 Цикл
        
        НоваяСтрока = ТЗ.Добавить();
        НоваяСтрока.Счетчик = 0;
        
    КонецЦикла;
 
 
   Numerus Mikhail
 
1 - 06.10.16 - 14:30
Ну примерно так и создать
В каком кейсе нужна такая таблица? Что-то даже на ум не приходит ничего
   DrShad
 
2 - 06.10.16 - 14:31
а что не получается?
   Провинциальный 1сник
 
3 - 06.10.16 - 14:32
Не надо так делать! Лучше 2-мерность эмулировать через таблицу с реквизитами-измерениями и значением.
   Нач программист
 
4 - 06.10.16 - 14:32
{Форма.Форма.Форма(76)}: Поле объекта не обнаружено (Счетчик)
        НоваяСтрока.Счетчик = 0;
   PR
 
5 - 06.10.16 - 14:35
(4) И что? Все правильно. Какой нахрен счетчик?
   Нач программист
 
6 - 06.10.16 - 14:35
(3) Извини, не понял?
   Numerus Mikhail
 
7 - 06.10.16 - 14:35
Удали эту строку, нахрена она тебя
   PR
 
8 - 06.10.16 - 14:36
(3) Почему?
   Нач программист
 
9 - 06.10.16 - 14:36
(5) А как обращаться в колонку?
   DrShad
 
10 - 06.10.16 - 14:36
НоваяСтрока["Колонка"+Счетчик] = 0
 
 Рекламное место пустует
   Jokero
 
11 - 06.10.16 - 14:37
НоваяСтрока["Колонка"+Счетчик] = 0;
   Нач программист
 
12 - 06.10.16 - 14:37
(8) Подробнее можешь обьеснить
   megabax
 
13 - 06.10.16 - 14:37
(4) Дык у тебя колонки имеют имена Счетчик0, Счетчик1, Счетчик2, и тд, а ты пишешь НоваяСтрока.Счетчик = 0;
естественно ошибка
   Провинциальный 1сник
 
14 - 06.10.16 - 14:37
(6) Тебе надо хранить какое-то значение для пары измерений. Так? Скорее всего твоя матрица будет содержать дофига пустых ячеек. Так зачем на них память тратить?
Создаешь таблицу значений с тремя колонками. Две колонки - измерения, третья - значение. При необходимости получить значение по измерениям используешь отбор и получаешь.
   PR
 
15 - 06.10.16 - 14:38
И вместо счетчик нужно формат счетчика использовать.
Тут-то маловероятно, что колонок будет больше 1000, а в других местах легко.
И будет в итоге не Колонка1000, а Колонка1 000 и синтаксическая ошибка.
   PR
 
16 - 06.10.16 - 14:39
(12) Это разрешение мне что-то "обьеснить" тебе?
После вопроса тебе, почему ты так считаешь?
Реально народ тупеет, скоро до мышей опустится.
   DrShad
 
17 - 06.10.16 - 14:41
(16)+1
ну не могу не согласиться
   lxs
 
18 - 06.10.16 - 14:41
Почему никто еще не задал вопрос "ЗАЧЕМ" автору то, что он пытается сделать?
   DrShad
 
19 - 06.10.16 - 14:41
(18) всем пофиг
   Numerus Mikhail
 
20 - 06.10.16 - 14:41
(18) (1) ващет сразу спросил, но в ответ тишина
   PR
 
21 - 06.10.16 - 14:41
(14) Ну конечно.
У него может пять колонок и 10 строк.
Но благодаря тебе он получил кучу епли с каким-то непонятным алгоритмом поиска значения в ТЗ, вместо простого наглядного обращения ТЗ[Строка][Колонка].
   lxs
 
22 - 06.10.16 - 14:41
(16) +1
   PR
 
23 - 06.10.16 - 14:42
(18) Потому что это и так понятно, нормальная часто встречаемая ситуация.
   lxs
 
24 - 06.10.16 - 14:43
(21) Сдается мне, что автор мыслить примитивными понятиями из курса информатики программы 10ого класса конца 90х гг.
   Нач программист
 
25 - 06.10.16 - 14:43
Изменил код

Для Счетчик = 0 По РазмерТЗ - 1 Цикл
        
        ТЗ.Колонки.Добавить("Колонка"+Счетчик,Новый ОписаниеТипов("Строка"));
        
    КонецЦикла;
    
    Для Счетчик = 0 По РазмерТЗ  - 1 Цикл
        
        НоваяСтрока = ТЗ.Добавить();
        НоваяСтрока["Колонка"+Счетчик] = 0;
        
    КонецЦикла;

Размер 3х3
Результат такой 
0 _ _
_ 0 _
_ _ 0
   Нач программист
 
26 - 06.10.16 - 14:43
В чем ошибка?
   lxs
 
27 - 06.10.16 - 14:43
(23) И где ты часто создаешь заранее ТЗ с определенным количеством строк?
   Нач программист
 
28 - 06.10.16 - 14:44
Мне нужен такой?

0 0 0
0 0 0
0 0 0
   Это_mike
 
29 - 06.10.16 - 14:44
"пусть на нас летят N самолетов... нет, N мало, давайте M !!!"©
   lxs
 
30 - 06.10.16 - 14:45
(28) Цикл обхода колонок внутри цикла добавления строк, чувак. Это даже не 10ый класс информатики, ты чо вообще?
   DrShad
 
31 - 06.10.16 - 14:46
(26) ошибки нет - все согласно кода
   Нач программист
 
32 - 06.10.16 - 14:47
(16) Задача

Заполнить двумерный массив размером nхn нулями.
   PR
 
33 - 06.10.16 - 14:51
(32) У вас там каникулы в школе что ли?
 
 
   PR
 
34 - 06.10.16 - 14:53
Для Счетчик = 0 По РазмерТЗ - 1 Цикл
    ТЗ.Колонки.Добавить("Колонка"+Счетчик,Новый ОписаниеТипов("Строка"));
КонецЦикла;

Для Счетчик = 0 По РазмерТЗ  - 1 Цикл
    НоваяСтрока = ТЗ.Добавить();
    НоваяСтрока["Колонка"+Счетчик] = 0;
КонецЦикла;

Для Счетчик1 = 0 По РазмерТЗ - 1 Цикл
    Для Счетчик2 = 0 По РазмерТЗ  - 1 Цикл
        ТЗ[Счетчик1][Счетчик2] = 0;
    КонецЦикла;
КонецЦикла;
   Mauser
 
35 - 06.10.16 - 14:53
(32) массив от таблицы значений отличаем, не?
   lxs
 
36 - 06.10.16 - 14:56
(34) ужснах
   lxs
 
37 - 06.10.16 - 14:57
(36)+ если ты добавишь колонки с описанием типов Число, то последнее извращение в виде вложенных циклов утратит смысл вообще
   lxs
 
38 - 06.10.16 - 14:57
а (36)++ и станет ненужной строка 
оваяСтрока["Колонка"+Счетчик] = 0;
   Jokero
 
39 - 06.10.16 - 14:58
(26) Заполняй запросом, будь мужиком))
   lxs
 
40 - 06.10.16 - 15:03
ОписаниеКолонок = "";
Для Счетчик = 0 По РазмерТЗ - 1 Цикл
    ТЗ.Колонки.Добавить("Колонка"+Счетчик);
    ОписаниеКолонок = ОписаниеКолонок + "Колонка"+Счетчик+",";
КонецЦикла;

ТЗ.ЗаполнитьЗначения(0, Лев(ОписаниеКолонок, СтрДлина(ОписаниеКолонок)-1));


Кто следующий?))))
   f_vadim
 
41 - 06.10.16 - 15:04
(32)
>>Как создать ТаблицаЗначений с размером nxn?
>>Заполнить двумерный массив размером nхn нулями.

бгагага, извините
   Базис
 
42 - 06.10.16 - 15:05
Салам, брат.

Секрет успешных казахских предприятий прост - начальником может быть и казах, но вот главным инженером всегда лучше назначить русского.
   Базис
 
43 - 06.10.16 - 15:06
Я это к чему пишу - ты же нач программист, обратись к программисту.
   lxs
 
44 - 06.10.16 - 15:18
(43) смеяться после слова лопата?


Список тем форума
  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует