|
Заполнение дерева значений | ☑ | ||
---|---|---|---|---|
0
MMMan
16.09.21
✎
12:18
|
Я еще в школе так что строго не судите)
Для решения некоторой задачи требуется заполнить дерево значений случайными значениями. Процедура рекурсивная, в параметр подается ДеревоЗначений(ну или СтрокаДереваЗначений) и Глубина - число, означающее насколько длинная должна получиться иерархия. Код, который я написал Процедура ЗаполнитьГраф(ТекущийУзел, Знач Глубина) ГСЧ = Новый ГенераторСлучайныхЧисел(); Глубина = Глубина - 1; Если НЕ Глубина > 0 Тогда Возврат; КонецЕсли; Для Каждого Узел Из ТекущийУзел.Строки Цикл Для Счетчик = 1 По 2 Цикл НовыйУзел = Узел.Строки.Добавить(); НовыйУзел.Значение = ГСЧ.СлучайноеЧисло(1, 100); ЗаполнитьГраф(Узел, Глубина); КонецЦикла; КонецЦикла; КонецПроцедуры Вывод должен быть следующего вида(Глубина = 3) 3 3 2 2 4 1 2 3 4 6 Что же происходит не так, если вывод происходит в таком виде? В чем ошибка? 3 6 2 2 3 1 2 3 2 3 4 5 |
|||
1
Дремучий
16.09.21
✎
12:45
|
Чтобы лучше разобраться, что происходит, нужно добавить в процедуру счетчик, который будет всегда увеличиваться на единицу, отражая номер шага.
Процедура ЗаполнитьГраф(ТекущийУзел, Знач Глубина, НомерШага) ... НовыйУзел.Значение = НомерШага; НомерШага = НомерШага + 1; ЗаполнитьГраф(Узел, Глубина, НомерШага); ... КонецПроцедуры Скорее всего неправильно организована проверка на глубину вложенности, думаю она срабатывает (а не должна) на добавлении второй ветки на том же уровне вложенности. |
|||
2
MMMan
16.09.21
✎
13:06
|
Да, вижу. Дело в глубине.
3 0 2 83 71 1 83 71 83 71 80 15 Додумал вывести себе как шел код. В отладчике, пока что, для меня как-то непонятно: Значение: 83 Счетчик: 1 Глубина: 1 Значение: 71 Счетчик: 2 Глубина: 1 Значение: 83 Счетчик: 1 Глубина: 2 Значение: 83 Счетчик: 1 Глубина: 1 Значение: 71 Счетчик: 2 Глубина: 1 Значение: 80 Счетчик: 1 Глубина: 1 Значение: 15 Счетчик: 2 Глубина: 1 Значение: 71 Счетчик: 2 Глубина: 2 |
|||
3
Веселый собака
16.09.21
✎
13:30
|
(0) а тупо вывести в табличное поле и увидеть наглядно? )
|
|||
4
Kassern
16.09.21
✎
13:33
|
(0) уже со школьной скамьи 1ску изучают?
|
|||
5
1Сергей
16.09.21
✎
13:37
|
(4) ничего удивительного
|
|||
6
MMMan
16.09.21
✎
13:39
|
(3) А я и не додумался! Да, удобнее для глаза, но вот смысл в этом)))
(4) Неа, у нас паскаль там в школе и то на уровне простых циклов. Я типо проекта делаю |
|||
7
Kassern
16.09.21
✎
14:08
|
(6) а к 1ске то как пришел?
|
|||
8
Веселый собака
16.09.21
✎
14:13
|
(7) наверно папа 1сник укусил.
|
|||
9
MMMan
16.09.21
✎
14:27
|
(7) (8) Да ладно вам! Тут же вот справочники, документы, формы все эти. Все на своем месте, все как надо. Все по порядку. Красиво
|
|||
10
Веселый собака
16.09.21
✎
14:29
|
(9) молод ты еще в это.. наступать.
Лучше яву там учи какую, будешь свободный птиц- по миру кататься, под пальмами кодить. Это наша, стариковская ниша. |
|||
11
Kassern
16.09.21
✎
14:31
|
(10) да ладно вам, пускай молодое поколение подрастает. Итак с кадрами большие проблемы
|
|||
12
ДенисЧ
16.09.21
✎
14:42
|
(11) С кадрами проблемы нет. Вот без кадров...
|
|||
13
ДенисЧ
16.09.21
✎
14:43
|
(10) "Лучше яву там учи какую"
Что тебе этот молодой человек сделал плохого? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |